#include
int main()
{
int x;
int sum=0;
while(scanf("%d",&x)!=0)
{
if(x>0)
{ sum+=x;
}
}
printf("%d",sum);
}
//为什么这个输入0不会停止
//也没有输出sum
scanf()
函数返回的是成功提取数据的个数或EOF
如果你想让程序输入0后结束循环,那么你应该把第8行改为
while (scanf("%d", &x) == 1 && x != 0)
https://en.cppreference.com/w/c/io/fscanf
#include<stdio.h>
int main()
{
int x;
int sum=0;
while(scanf("%d",&x)!=EOF)
{
if(x == 0)
break;
if(x>0)
{
sum+=x;
}
}
printf("%d",sum);
return 0;
}