wjs3721 发表于 2022-7-4 12:43:23

输出结果为什么是这样

刚学几天!碰到一个问题想咨询下各位大佬!

#include<stdio.h>
main()
{
    int i,j,s=0,pj,v;
    int a={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
    for(i=0;i<3;i++)
    {
      for(j=0;j<5;j++)
      s=s+a;
      v=s/5;
      s=0;
      printf("%d\n\n",a);// 这里输出的结果为:0   72    73
    }
    pj=(v+v+v)/3;
    printf("math:%d\nc languag:%d\n foxpro:%d\n",v,v,v);
    printf("total:%d\n",pj);
}

本来想看看,输出的结果是在什么位置或者结果,但是在红字显示位置结果,为什么是0   72   73   对于刚刚接触的我,实在不理解,求各位大佬解惑一下,谢谢啦

wp231957 发表于 2022-7-4 19:17:17

这代码能运行??都是奇葩了
v=s/5;这是神马鬼??
内循环没有花括号,是本意吗??

ExiaGN001 发表于 2022-7-5 19:45:51

你这代码真不好改
意图不明
还有逻辑错
我试图理解一下
改完代码:
#include<stdio.h>
main()
{
    int i,j,s=0,pj,v;
    int a={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};
    for(i=0;i<3;i++)
    {
      for(j=0;j<5;j++)
{
      s=s+a;
      v=s/5;
      s=0;
      printf("%d\n\n",a);// 这里输出的结果为:0   72    73
}
    }
    pj=(v+v+v)/3;
    printf("math:%d\nc language:%d\n foxpro:%d\n",v,v,v);
    printf("total:%d\n",pj);
}

黎羽轩 发表于 2022-7-17 07:44:31

for循环如果没有大括号只包含for以下的一行代码,2行或以上都要用大括号{}括起来

aaron0919 发表于 2022-7-31 16:15:31

wp231957 发表于 2022-7-4 19:17
这代码能运行??都是奇葩了
v=s/5;这是神马鬼??
内循环没有花括号,是本意吗??

如果循环中只有一个语句可以不加,但如果是多条不加报错
页: [1]
查看完整版本: 输出结果为什么是这样