C语言,不知道为神马运行不了


#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);
}

系统没有报错,但就是在运行时

img

在 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 函数应该返回一个整型值。
2ans!==0 应改为 ans!=0,表示判断 ans 是否不等于 03、scanf("%d",ans); 应改为 scanf("%d",&ans);,因为 scanf 函数需要传入变量的地址。

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢