C 除整数外的每个输入都给出13作为输出,为什么?
这是代码C 除整数外的每个输入都给出13作为输出,为什么?,c,C,这是代码 #include <stdio.h> #include <conio.h> int main() { int num,sum=0; printf("enter any number to find its sum of digits"); scanf("%d",&num); while (num!=0) { sum+=num%10; num=num/10; } printf(
#include <stdio.h>
#include <conio.h>
int main()
{
int num,sum=0;
printf("enter any number to find its sum of digits");
scanf("%d",&num);
while (num!=0) {
sum+=num%10;
num=num/10;
}
printf("%d",sum);
return 0;
}
#包括
#包括
int main()
{
int num,sum=0;
printf(“输入任意数字以查找其数字之和”);
scanf(“%d”和&num);
while(num!=0){
总和+=num%10;
num=num/10;
}
printf(“%d”,总和);
返回0;
}
整数以外的输入总是给出输出13。
为什么会这样 因为您未能检查
scanf()的返回值。
。任何价值都可能出现。您必须始终在C中检查返回值。如何检查返回值?[叹气]Google scanf()以了解它返回的内容。当输入为非数字时,scanf(“%d”,&num)
之后,您希望在num
中看到什么值?我希望会出现错误。