码迷,mamicode.com
首页 > 其他好文 > 详细

一些小细节

时间:2017-07-08 13:23:52      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:print   输出   检查   指针   int   错误   运算   第一个   常量   

1、C中printf计算参数时是从右到左压栈的。

定义一个数组 int arr[ ] = {6 , 7, 8 , 9, 10}

再定义一个指针 sint  *prt = arr;

printf("%d\n",*ptr); 此时ptr指向第一个元素6;

*(ptr++)+ = 123展开为*ptr = *ptr + 123; ptr++; 此时ptr指向第二个元素7;

printf(“%d,%d\n”,*ptr,*(++ptr)); 从右到左运算,第一个是(++ptr),也就是ptr++,*ptr = 8,此时ptr指向第三个元素8,所以输出全为8.

2、编程风格

  if(‘A‘ = a)

  {

    a++;

  }

  if(a == ‘A‘)

  {

    a++;

  }

  第一种写法更好一些。如果把“==”误写做“=”,因为编译器不允许对常量赋值,就可以检查到错误

 

一些小细节

标签:print   输出   检查   指针   int   错误   运算   第一个   常量   

原文地址:http://www.cnblogs.com/mingyunrangwozoudaoxianzai/p/7136350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!