新手求教!c语言程序执行问题,,

如下代码,最后面有个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

问题上面已经解答,建议以后输出的结果有问题先检查输出语句