写点什么

语法"陷阱"

作者:fy
  • 2022 年 6 月 25 日
  • 本文字数:470 字

    阅读完需:约 2 分钟

2.1 函数声明

if (flags & (FLAG != 0) )


2.2 C 语言运算符优先级:记住的最重要的两点是:

1.任何一个逻辑运算符的优先级低于任何一个关系运算符

2.移位运算符的优先级比算术运算符还要低,但比关系运算符要高

例子:

while (c = getc(in) != EOF)

putc(c, out)

在 while 表达式中,c 首先被赋值函数 getc(in)的返回值,然后 EOF 比较是否达到文件尾以便决定是否终止了循环。但是 赋值运算符优先级低于任何一个比较运算符,故

while ((c = getc(in) ) != EOF)

putc(c,out)


2.3 注意语句结束标志的分号;

if(x[i] > y[i]);

big = x[i];

表示啥也没咋执行,就已经运行了 if (x[i] > y[i]);

if (x[i] > big)

big = x[i]

表示进行判断,然后运行了赋值语句执行

if( n < 3)

return

logrec.date = x[0];

logrec.time = x[1];

logrec.code = x[2];

此处的 return 语句后面遗落了一个分号,然而这段代码仍然会顺利通过,编译并且不报错,

if (n < 3)

return logrec.date = x[0];

logrec.time = x[1];

logrec.code = x[2];


struct logrec {

int date;

int time;

int code;

}

main()

{

...

}


用户头像

fy

关注

还未添加个人签名 2018.06.10 加入

还未添加个人简介

评论

发布
暂无评论
语法"陷阱"_c_fy_InfoQ写作社区