求助!!!!!!!关于C语言计算

来源:百度知道 编辑:UC知道 时间:2024/05/26 20:18:31
main()
{
int k[30]={12,324,45,6,768,98,21,34,453,456};
int count=0,i=0;
while(k[i])
{
if(k[i]%2==0||k[i]%5==0)
count++;
i++;
}
printf("%d,%d\n",count,i);
}
为什么答案是8,10.而不是8,8.请帮帮忙看看,那个i的值为什么是10而不是8呢??急啊!!!!

在count++;i++; 这里用花括号括起来就行了
{count++;i++;} 如果不括起来的话,if语句的条件满足后执行count++ 不满足就不执行count++ 而i++不管if条件满不满足都执行的。

你的if(k[i]%2==0||k[i]%5==0) 只能够限count而没有限制i.而i是控制数组的位置.

k[10]=0所以跳出循环的时候i就是10了