如下代码,最后面有个return返回0,请问printf下面有多个花括号,是怎么穿过这些花括号执行到return0的?为什么运行结果每个后面都有0?谢谢!
#include
int main()
{
int i,j,k,l,m;
for(i=4;i<=20;i++)
{
for(j=1;j<i;j++)
{
for(k=1;k<j;k++)
{
for(l=1;l<k;l++)
{
if(j*k*l+i*k*l+i*j*l+i*j*k==i*j*k*l)
printf("%d %d %d %d 0\n",i,j,k,l);
}
}
}
}
return 0;
}
运行结果为:
12 6 4 2 0
15 10 3 2 0
18 9 3 2 0
20 5 4 2 0
printf("%d %d %d %d 0\n",i,j,k,l);是你的代码多加了个0
花括号是配对出现,**{ ** 和 } 之间为一个循环体,从里到外一共有四个嵌套的for循环。
执行完四个for循环后,就运行 ** return 0;**
每个结果后面都有一个0是因为
printf("%d %d %d %d 0 \n",i,j,k,l); 语句的格式字符串中误加了一个0。
0不应该出现在printf函数的格式控制字符串里
return 0是整个程序的返回值,0表示程序运行正常;至于每行输出最后的0是你自己在输出语句中添加的0.
以上回答的都很好,很好很好
pintf里有0 所以每次都返回0
问题上面已经解答,建议以后输出的结果有问题先检查输出语句