#include<stdio.h>
void main()
{
int i,ans;
printf("Input integers: ");
for(i=0;ans!==0;)
{
scanf("%d",ans);
if(ans%2!==0)
i++;
}
printf("The sum of the odd numbers is %d",i);
}
系统没有报错,但就是在运行时
在 for 循环的条件中,ans!==0 应该改为 ans!=0。另外,在 scanf 函数中,第二个参数应该是 &ans 而不是 ans。最后,在判断语句中,ans%2!==0 应该改为 ans%2!=0。
修改后的代码应该是这样的:
#include<stdio.h>
int main()
{
int i=0, ans;
printf("Input integers: ");
scanf("%d",&ans);
while(ans!=0)
{
if(ans%2!=0)
i++;
scanf("%d",&ans);
}
printf("The sum of the odd numbers is %d",i);
return 0;
}
for(i=0;ans!==0;)
只有!=和==,没有!==
你的代码有如下几个问题:
1、void main() 应改为 int main(),main 函数应该返回一个整型值。
2、ans!==0 应改为 ans!=0,表示判断 ans 是否不等于 0。
3、scanf("%d",ans); 应改为 scanf("%d",&ans);,因为 scanf 函数需要传入变量的地址。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢