c语言的一个问题,看哪里有问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 07:22:15
#include <stdio.h>

main()

{

int i,a[20];

int sum=0,count=0;

for(i=0;i<20;i++)

{

scanf("%d",&a[i]);

}

for(i=0;i<20;i++)

{

if(a[i]>=0)

{

count++;

sum+=sum;

}

}

printf("sum=%d\tcount=%d",sum,count);

}为什么老是警告fuction should return a value
tucbo c下运行的, 我可以不管,但是它扣我分啊!!!

你是在VC下面运行的吧,在VC下面,main函数也是需要有返回值的,这个警告可以不用理它,对程序运行没有影响的,如果你实在看的不爽,可以这样
void main() 就可以了:)

您这样写是程序会默认为int 型,需要返回一个整形值,如果不返回会有警告。
写代码时最好是明标出返回值类型,或void无返回值。

在程序的最后一行加上:ruturn 0;

这句话是: 函数必需返回一个值!
解决:须要ruturn 0或者rutern其它数值

#include <stdio.h>

void main()

{

int i,a[20];

int sum=0,count=0;

for(i=0;i<20;i++)

{

scanf("%d",&a[i]);

}

for(i=0;i<20;i++)

{

if(a[i]>=0)

{

count++;

sum+=sum;

}

}

printf("sum=%d\tcount=%d",sum,count);

}

sum 里什么都没有啊。连值都没有,加什么啊。那个a[i]>1也不好啊,起不到什么作用啊 sum=a[i];sum +=sum;