qq_37823301
qq_37823301
采纳率50%
2017-03-22 18:45 阅读 1.0k
已采纳

新手求教!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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • 已采纳
    qiqi123i _ dingding_ 2017-03-23 01:30

    printf("%d %d %d %d 0\n",i,j,k,l);是你的代码多加了个0

    点赞 评论 复制链接分享
  • fight_in_dl 战在春秋 2017-03-22 20:37

    花括号是配对出现,**{ ** 和 之间为一个循环体,从里到外一共有四个嵌套的for循环。

    执行完四个for循环后,就运行 ** return 0;**

    每个结果后面都有一个0是因为

    printf("%d %d %d %d 0 \n",i,j,k,l); 语句的格式字符串中误加了一个0。

    点赞 3 评论 复制链接分享
  • hou09tian 棉猴 2017-03-22 22:33

    图片说明

    点赞 3 评论 复制链接分享
  • qq_33869081 Dev.tao 2017-03-23 00:28

    0不应该出现在printf函数的格式控制字符串里

    点赞 评论 复制链接分享
  • wzxq123 尚书左仆射 2017-03-23 01:18

    return 0是整个程序的返回值,0表示程序运行正常;至于每行输出最后的0是你自己在输出语句中添加的0.

    点赞 评论 复制链接分享
  • abc3065369 abc3065369 2017-03-23 01:47

    以上回答的都很好,很好很好

    点赞 评论 复制链接分享
  • hkj2011yz hkj2011yz 2017-03-23 02:43

    pintf里有0 所以每次都返回0

    点赞 评论 复制链接分享
  • sinat_37676560 云裳容 2017-03-24 08:01

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

    点赞 评论 复制链接分享

相关推荐