C语言中if条件不满足时如果不需要做额外的事可以不用else吗?

2024-11-28 12:28:47
推荐回答(5个)
回答1:

XX[i][j]=0

这样处理之后

下次循环的时候就不会重复再对 i j这个地方所对应的信息进行处理
不然就会重复出现 重复处理
处理到最后会变成死循环

使用if 可以不使用else
但是使用else 一定要有if
如果if不满足的话
可以使用一些并列的条件
if
else if
else

举个例子
比如
100分以下90分以上的 如何如何
80分以上90分一下的如何如何
剩下的如何如何

就可以表示成
if(k>=90&&k<100) {...}
else if(k>=80&&k<90) {...}
else {...}

恩,可以的。
有一个很经典的例子 是输出性别的
设定性别1为女生 0为男生
if(k==1)
printf("fe");
printf("male");

这样的话女生就打出female
男生打出male

if(x<0)
y=-1;
y=1;
不用else 就说明if内容之后的语句是被执行的
如果你输入x负数
然后y=-1
再执行下一步 y=1

如果输入x正数
那么if里面的内容就不做
直接执行y=1

和上面那个female和male道理一样的
else不是说省略也没关系
是说else可以用,可以不用

比如
#include
void main()
{int x,y=0;
printf("enter x:");
scanf("%d",&x);
if(x<0)
y=-1;
printf("x=%d,y=%d\n",x,y);
}
如果你输入x是正数的话,y输出就等于0

用汉字来表述的话
if...
如果怎么样 就做什么 再做什么
if... else...
如果怎么样 就做什么 否则就做什么 再做什么

回答2:

if (!xx[i][j]) /* 如果!xx[i][j]为真 ,说明已到达字符串末尾 */
{
/* 将找过的这段字符串连接到buf中已存字符串的末尾并跳出循环 */
strcat(buf, &xx[i][k]);
break; //因为你这里的break打破了循环,跳出while,就不会执行后面的xx[i][j] = 0;
}

#include
void main()
{int x,y;
printf("enter x:");
scanf("%d",&x);
if(x<0)
{
y=-1;
printf("x=%d,y=%d\n",x,y);
return;//你下面的程序可以这样写
}
y=1;
printf("x=%d,y=%d\n",x,y);
}

回答3:

可以不用

单独if也是十分常见地

回答4:

if(xxx)做事A
做事B

表示如果满足xxx则做完A然后做B
不满足则直接做B

回答5:

在这个程序中,当x<0时,y先被赋值为-1,然后执行y=1,被赋值为1,若x>0,则y直接被赋值为1,所以不管怎样,最后答案均是1.