C 为什么我必须在这段代码中使用float而不是int?
如果类型是整数,那么sum的结果是0,为什么C 为什么我必须在这段代码中使用float而不是int?,c,C,如果类型是整数,那么sum的结果是0,为什么 main(){ int n,s=0; float a; printf("Input a integer number: "); scanf("%d",&n); while(a!=0){ a=n%10; s=s+a; n=n/10; } printf("Sum: %d",s); getch(); } 对不起我的英语,非常感谢! 你
main(){
int n,s=0;
float a;
printf("Input a integer number: ");
scanf("%d",&n);
while(a!=0){
a=n%10;
s=s+a;
n=n/10;
}
printf("Sum: %d",s);
getch();
}
对不起我的英语,非常感谢!
你能告诉我这个的英文名称吗:例如:“12345”是一个数字,那么“1,2,3,4,5”的名称是什么呢?我假设你在计算组成一个数字的数字之和 问题是您无法初始化
a
。如果它恰好得到初始值0
,while循环中的代码将永远不会执行
此外,条件错误,您应该改为在n
上进行测试。考虑一下如果你输入<代码> 101 <代码>会发生什么。当前代码将停止,然后到达0
,并将输出1
的总和,而不是2
因此,如果我们解决了这些问题:
int main() {
int n,s=0;
int a;
printf("Input a integer number: ");
scanf("%d",&n);
while (n!=0) {
a=n%10;
s=s+a;
n=n/10;
}
printf("Sum: %d",s);
getch();
return 0;
}
float a代码>初始化为非零。例如float a=-1.0f
@BLUEPIXY:是的,我知道,但在这段代码中,为什么我必须使用float而不是integer?似乎我们更应该使用integer<代码>整数a=-1
@someuser抱歉我不明白:(那a
是指未初始化的值是个问题。非常感谢!