Matrix matrixA(1, 1);
Matrix matrixB(2, 2);
matrixA = matrixB;
以上是代码,我有一个小问题。每次输入一个字符而不是在屏幕上输入无效的输入时,我都会输出错误的输出。
答案 0 :(得分:0)
C库函数cli-tool create-snapshot.. calls java class eventually calling below method
SnapshotUtil.createSnapshot() // statically call AWSAdapter.createSnapshot();
检查传递的字符是否为十进制数字。您需要在代码中正确使用isdigit
。您可以在此处找到isdigit
答案 1 :(得分:0)
首先,您的代码中存在一些非常基本的问题。我会尝试解释这些。
#include<stdio.h>
#include<ctype.h>
int addi(int n, int m)
{
// 1
int x;
x=n+m;
printf("%d",x);
return 0;
}
在您的代码数字:1 点,您始终打印添加的值并返回0
,这不是一个好方法,您应该返回添加值并从main
函数打印它。您只能通过此行return n+m;
int main()
{
int t,u,i,j,k;
printf("please enter two integers to be added");
while(1){
scanf("%d%d", &u, &t);
if(isdigit(t)==0 && isdigit(u)==0)
break;
else
{
if(isdigit(t)==1 or isdigit(u)==1) // 2
printf("invalid input");
}
}
i=addi(u,t); // 3
return 0;
}
在数字:2 点,您有2个错误,1:or
不是c
中的任何关键字,您应该使用||
这个。和2:isdigit()
返回字符的值,如果它是一个数字,则返回0
,因此如果值为invalid input
在数字:3 中,您不应该一直调用addi
函数,只需调用此函数即可。
答案 2 :(得分:0)
您的功能&#39; addi&#39; dint返回任何内容,以便为什么&#39;返回0&#39;?
您可能想要 void !
另一件事是你在变量 i
中捕获返回的原因请检查您希望代码执行的操作。
有效C语法使用 || 代替或和&amp;&amp; 代替和
isdigit()返回数字本身的值,如果是数字,则返回0
因此,请相应地使用它来解决问题