求大神看看,这是什么意思
#include <stdio.h>main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
if(i<=j)就是这里,我一开始打的时候多加了一个分号(我知道分号是指一个语句的结束但为什么会这样)
{
printf("%d*%d=%-2d",i,j,i*j);
}
}
putchar('\n');
}
} 会哪样? qiuyouzhi 发表于 2020-5-8 11:37
会哪样?
输出从三角形的,变成矩形 如果在if后面加一个分号,那说明if语句到分号那里就结束了,后面的代码块就不归if控制了,无论如何那个代码块都会执行(因为没有条件限制了) fuze11 发表于 2020-5-8 11:39
输出从三角形的,变成矩形
加了个分号代表什么都不做,所以,代码会变成这样:
#include <stdio.h>
main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9;j++)
{
printf("%d*%d=%-2d",i,j,i*j);
}
putchar('\n');
}
} KevinHu 发表于 2020-5-8 11:42
如果在if后面加一个分号,那说明if就是一个判断语句,后面的代码块就不归if控制了
是这样啊,我一直以为if是和后面的是一个代码块,,谢谢大神 众所周知分号代表语句的结束if后加分号代表什么 ?
代表如果条件成立执行的是空语句那么花括号中的语句代表什么 ?
代表着无论if中条件成不成立都执行那个语句编译器把它看成了一个代码段
所以加分号会出现99乘法表显示错误的现象{:10_257:}
页:
[1]