#include<stdio.h>
main()
{
int n[20],counter,sum,i;
printf("input 20 numbers:\n");
for(i=0;i<20;i++)
{scanf("%d",&n[i]);
if(n[i]>=0)
{counter++;sum+=n[i];}
}
printf("counter=d%,sum=d%,counter,sum);
}
这里面主要有2个比较大的问题:
(1)相关变量没有初始化
对于程序中求和变量sum,统计个数变量counter,虽然声明了,但没有初始化,那么编译时从哪个数字开始就不知道了,因此会报错
添加一句
counter=sum=0;
(2)最后输出的语句有问题
首先,格式化输出整型是%d,不是d%;其次,少了一个双引号在后面。
将
printf("counter=d%,sum=d%,counter,sum);
改为:
printf("counter=%d,sum=%d",counter,sum);
最后结果为: