1719074581 发表于 2019-11-19 22:53:39

这代码运行不了什么回事啊

#include<stdio.h>
int main()
{
        // int num=9;
        int x,y;
        int sum=0;
        for(x=1;x<9;y++)
        {
                for(y=1;x<=y;x++)
                {
                        sum = x * y;
                        printf("%d*%d=%d\n",x,y,sum);
                }
               
        }
}

1719074581 发表于 2019-11-19 22:55:28

楼主打算写个九乘九的乘法表,但是程序返回值为一

jackz007 发表于 2019-11-19 23:18:13

本帖最后由 jackz007 于 2019-11-19 23:20 编辑

         循环写的不对
#include <stdio.h>

int main(void)
{
      int x , y                                           ;
      for(x = 1 ; x <= 9 ; x ++) {
                for(y = 1 ; y < x + 1 ; y ++) {
                        if(y > 1) printf("")            ;
                        printf("%dx%d=%2d" , y , x , x * y) ;
                }
                printf("\n")                              ;
      }
}
      编译运行实况
C:\Bin>g++ -o x x.c

C:\Bin>x
1x1= 1
1x2= 22x2= 4
1x3= 32x3= 63x3= 9
1x4= 42x4= 83x4=124x4=16
1x5= 52x5=103x5=154x5=205x5=25
1x6= 62x6=123x6=184x6=245x6=306x6=36
1x7= 72x7=143x7=214x7=285x7=356x7=427x7=49
1x8= 82x8=163x8=244x8=325x8=406x8=487x8=568x8=64
1x9= 92x9=183x9=274x9=365x9=456x9=547x9=638x9=729x9=81

C:\Bin>

ijy 发表于 2019-11-20 11:08:27

本帖最后由 ijy 于 2019-11-20 11:13 编辑

楼主这个代码头一次循环,可以输出1*1=1;第二次内循环中x=2,y=1,不符合循环条件,于是退回到第二次外循环中使得y=2; x=2; 符合第二次外循环条件,进入第三次内循环中,此时y=1; x=2;不符合第三次内循环条件,于是又返回到第三次外循环中y=2; x=2; 符合第三次外循环条件,于是进入第四次内循环中,此时x=2,y=1;不符合第四次内循环条件,又退回到第四次外循环中,y=2; x=2,...... 一直这样循环下去,永无休止,成了死循环;所以您这个代码只能运行到1*1=1就运行不下去了;

1323349692 发表于 2019-11-30 16:17:34

这个我是用javaScript写的,但是语法都一样
<script>
        for (var i = 1;i < 10 ;i++ )
        {
                for (b = 1;b <= i ;b++ )
                {
                        document.write(b+"*" + i + "=" +b*i+"&nbsp;&nbsp;&nbsp;&nbsp;");
                }
                document.write("<br>");
        }
</script>
E:\捕获.PNG

召唤师 发表于 2020-4-3 09:12:19

同意四楼,逻辑就是这样!
页: [1]
查看完整版本: 这代码运行不了什么回事啊