标题: C语言if语句执行的问题 [打印本页]

作者: 李冬    时间: 2022-3-7 14:49
标题: C语言if语句执行的问题
问题1:if(0<i<10)还是写成if(0<i&&i<10)
问题2:if()后面只执行一个FOR循环,需要加{}吗

if(i==0)

for(i = 0; i < 6; i++)
                                {
                                UartSend(sj[ i]);
                                }        


作者: yzwzfyz    时间: 2022-3-7 16:40
编译一下试试。
作者: YQR123    时间: 2022-3-7 16:43
本帖最后由 YQR123 于 2022-3-7 16:46 编辑

问题1:要写成if(0<i && i<10)养成良好的编程习惯,最好写成这样if((0<i) && (i<10))这样的;问题2:if()后面只跟for()循环,for循环里面有很多条语句是for循环的{}去包含,if()后面可以不带{},但是养成良好的习惯,if()后面哪怕只有一条单语句,都尽量用{},以便以后维护和别人阅读你的代码。

作者: 13205495918    时间: 2022-3-7 16:56
第一个问题:是第二个写法,第二个问题:需要加{},if后面就算只执行一句,按照网上流传的编程规范也要加{}
作者: rundstedt    时间: 2022-3-7 19:03
关于第一个问题,别人的回答都是对的,不再赘述。
第二个问题,没必要加{},最后会indent或者astyle格式化代码,if和for都会有对应的缩进,能看出是不同的层次,事实上Python这个语言就取消了{},用缩进表示层次关系,连缩进都看不懂还是赶紧改行吧。
作者: q1577271837    时间: 2022-3-7 19:28
第一个用第二个写法 第二个可以 但是建议加{}更加规范 还有注意缩进
作者: caowei123    时间: 2022-3-24 15:40
问题一的两个没有区别
问题二也是没有问题的
作者: Hephaestus    时间: 2022-3-25 04:08
caowei123 发表于 2022-3-24 15:40
问题一的两个没有区别
问题二也是没有问题的

懂就说,不懂就别瞎说误导大家。

前面那么多人都说了问题一的两种写法之一是错的,你还在这里胡说八道来误导新手!
作者: 张光慧    时间: 2022-3-25 11:55
问题1:如果你的0没有意义的话建议直接写成i<10,如果需要写的话就第二种。问题二:有没有{}都是可以的,没有实际意义。
作者: 名字不是重点    时间: 2022-3-25 12:48
多层嵌套时,只有最内层的才可以省去{},而且这个最内层嵌套还必需是只有一条语句时才行!
作者: 名字不是重点    时间: 2022-3-25 12:50
标准写法:
if(i==0)

for(i = 0; i < 6; i++)
                                {
                                UartSend(sj[ i]);
                                }     

或省略写法:
if(i==0)

  for(i = 0; i < 6; i++)     UartSend(sj[ i]); //此处可省去{}


作者: zhxiufan    时间: 2022-3-25 12:54
问题1:if(0<i && i<10)
问题2:if(i==0)for(i = 0; i < 6; i++) UartSend(sj[ i]);

作者: 乖,摸摸头呀    时间: 2022-3-25 13:58
一般if后面只执行一条语句可以不加{};
作者: xierui54    时间: 2022-3-25 15:43
问题1写成第2种方式,问题2原理可以不需要加{},但是加{}可以方便大家阅读理解
作者: dzbj    时间: 2022-3-25 19:41
搭车 问一下 有些人写喜欢省略 比如if(x) 这时候 是if(x==1)还是if(x==0)啊 我一般当=1理解 是么
作者: 2396770434    时间: 2022-3-26 15:31
问题1:在程序里面区间写法都只能像后面这种,前面是数学的写法哦。问题2 :最好是加上嘛
作者: 2396770434    时间: 2022-3-26 15:32
问题1:要写成if(0<i && i<10)哦;问题2:if()后面只跟for()循环,for循环里面有很多条语句是for循环的{}去包含

作者: lkc8210    时间: 2022-3-26 18:08
dzbj 发表于 2022-3-25 19:41
搭车 问一下 有些人写喜欢省略 比如if(x) 这时候 是if(x==1)还是if(x==0)啊 我一般当=1理解 是么

比较喜欢用if(x) 和if(!x),当x为bit类型时
作者: love123why    时间: 2022-3-29 19:40
问题一:正常的表达,if(0<i<10)就行了。关于问题2可以加,也可以不加。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1