这代码运行不了什么回事啊
#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);
}
}
} 楼主打算写个九乘九的乘法表,但是程序返回值为一
本帖最后由 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: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就运行不下去了; 这个我是用javaScript写的,但是语法都一样
<script>
for (var i = 1;i < 10 ;i++ )
{
for (b = 1;b <= i ;b++ )
{
document.write(b+"*" + i + "=" +b*i+" ");
}
document.write("<br>");
}
</script>
E:\捕获.PNG
同意四楼,逻辑就是这样!
页:
[1]