首页 > 编程语言 > 详细

C/C++ Bug&Pitfalls

时间:2014-05-25 20:08:39      阅读:370      评论:0      收藏:0      [点我收藏+]

  这篇文章也是长期性的一个积累,对于本人个性化的一些使用C/C++造成的失误进行记录。

  1)Printf 中格式化使用造成的失误:

  

1
2
3
4
5
6
7
8
9
10
int
main() {
    char* str="-1234";
         
    printf("string is %lld\nstr length is %d\n", str2Number(str), strlen(str));
    //printf("string is %ld\nstr length is %d\n", str2Number(str), strlen(str));
 
    getchar();
    return 0;
}

 

   如上,str2Number返回的是long long 类型,如果使用注释掉的那一种printf的话,则后者显示为-1,尽管strlen(str)值仍为5。

  2) 在使用赋值操作,比如:

1
2
int num = 0xFFFFFFFF
int num = 0x80000001

   所赋的值都是补码,而不是源码或者反码。

C/C++ Bug&Pitfalls,布布扣,bubuko.com

C/C++ Bug&Pitfalls

原文:http://www.cnblogs.com/pan89/p/3751362.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!