C语言笔记——符号

来源:互联网 发布:华为网络竞赛上机题 编辑:程序博客网 时间:2024/05/21 07:02

一、注释符号——“/* */”和“//”

1、“/*  */”注释不能嵌套,“/*”总与离它最近的“*/”匹配

2、注意:y=x/*p;这个语句会报错,本意是想表示x除以p指向的内存里的值,把结果赋给y。但是编译器会把“/*”后边的内容当做注释,直到“*/”出现,可是没有找到“*/”,所以出错。应该写成y=x/(*p)。

二、单引号、双引号

1、双引号引起来的是字符串常量

2、单引号引起来的是字符常量

三、++、--操作符

1、++、--作为前缀,先自加或自减然后再做其他运算;

2、++、--作为后缀:

① int j;

   int i = 3;

   j=(++i,i++,i+10);

  ++做后缀时,i在遇到每个逗号后,认为本计算单位已结束,i这时候便会自加,所以j=15

② for(i=0;i<10;i++)

   {

   }

i与10进行比较后,认为本计算单位结束,i自加

③ k=(i++)+(i++)+(i++);

i遇到分号才认为本计算单位结束,i这时候自加

④ 经典例题:

   int i = 3;

   int x =( ++i)+(++i)+(++i);

有的编译器计算出x等于18,因为i先经过三次自加变成6,然后3个6相加得18;VC++6.0里计算出x等于16,先自加两次为5,然后计算前两项和,然后再加上第三次自加的i得16。最后i等于6。

四、符号优先级问题

 1、. 的优先级高于*、->操作符。例如*p.f 应该相当于*(p.f),即对p取f偏移,作为指针;

 2、[ ]高于*,例如int * p[ ],相当于int * (p[ ]),指针数组;

 3、函数()高于*,例如 int * fp( ),fp是一个函数,返回int *;

 4、逗号运算符在所有运算符中优先级最低

0 0
原创粉丝点击