标题:
C语言if语句if() {}里什么都不做,可以空白或空指令吗?
[打印本页]
作者:
李冬
时间:
2022-11-8 11:12
标题:
C语言if语句if() {}里什么都不做,可以空白或空指令吗?
if() {}里什么都不做,可以空白吗,或者用什么空指令
另个问 if(mm[1]==1&&mm[2]==1&&mm[3]==1&&mm[4]==1 )
可以这样写吗
if(mm[1]==mm[2]==mm[3]==mm[4]==1)
作者:
xuyaqi
时间:
2022-11-8 13:07
既然 if 什么都不做,就不要这条语句好了,另个问是可以的。
作者:
Sean_Shao
时间:
2022-11-8 14:07
楼主所提到的问题 涉及两方面:
1 程序逻辑
这个 建议楼主 画流程图 来理顺 程序的逻辑走向 不要脑袋想到哪里 写到哪里 这无异于给自己埋的雷 最后 程序的逻辑一定是乱麻一团。
既然 if语句 后面什么都不做 那么需要做的是什么呢 这个才是程序语言应该表达的部分 也就是说除了条件里面所描述情况外的情况 才是程序应该处理和表达的
2 语言逻辑
这个建议楼主 先把自己所使用语言的 逻辑运算符的优先级和结合性 概念仔细研究 搞清楚
至于 能够像你提到的哪样 做替换 请参考下面的程序
#include <iostream>
int main() {
int a=1,b=1,c=1,d=1;
if (a==b==c==d==1)
{
std::cout << "a==b==c==d==1";
}
return 0;
}
输出:a==b==c==d==1
#include <iostream>
int main() {
int a=3,b=3,c=3,d=3;
if (a==b==c==d==3)
{
std::cout << "a==b==c==d==3";
}
return 0;
}
没有输出
为什么会出现这种情况 请楼主按照我上面所说 仔细研究语言的规范后 自行得出答案.
以上所说 都是基本功 磨刀不误砍柴工 仅供参考!!!
作者:
Hephaestus
时间:
2022-11-8 14:08
你试试不就知道了吗?
作者:
wjhhhhh
时间:
2022-11-8 14:09
在Keil2、3、4 的C 里if(mm[1]==1&&mm[2]==1&&mm[3]==1&&mm[4]==1 )会出错,要多加小括号
if( (mm[1]==1 ) && (mm[2]==1) && (mm[3]==1 ) && (mm[4]==1 ) )
这种写法if(mm[1]==mm[2]==mm[3]==mm[4]==1) 没试过,估计过不去。
作者:
yzwzfyz
时间:
2022-11-9 14:21
何必呢?
作者:
chenshandeng
时间:
2022-11-9 15:08
你需要在后面加个;这样才是if空语句,不然报错的
作者:
lzd918
时间:
2022-11-9 16:07
不可以,语法不符合,编译通过不了
作者:
lhzw2001
时间:
2022-11-9 16:17
可以,加个分号,或大括号
作者:
Longan.Wang
时间:
2022-11-9 17:13
不可以!以后问之前,先试试!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1