C语言 if()后接一个空花括号是什么意思

比如下面这个程序#include<stdio.h>
int main()
{
int i,n,k;
char ch='a';
//输出上半菱形
for(i=1;i<=5;i++) //控制行数为5行
{
for(n=1;n<=5-i;n++) //控制输出前面空格
printf(" ");
if(i==1)
{}
else
printf("%c",ch++);
for(k=1;k<=2*i-2;k++)
printf(" ");
printf(" %c",ch);
printf("\n");
ch++;

}
for(i=1;i<=4;i++)
{
for(n=1;n<=i;n++)
printf(" ");
if(i==4)
{}
else
printf("%c",ch++);
for(k=1;k<=7-2*i;k++)
printf(" ");
printf("%c",ch);
printf("\n");
ch++;
}
printf("\n");
return 0;
}

这种写法是不规范的,只加上{}相当于空语句,就是啥也不执行,所以上面的就可以改为
if(i != 1)
{
printf("%c",ch++);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-10
如果()中满足,就执行大括号中的追问

我是问{},不是()。。

追答

里面没有任何代码,就相当于空,什么都不执行,像java如果没有任何语句可以去掉{},C语言的话你去掉看看编译器是否可以编译过,如果能的话,去不去掉都可以,都是一样的效果