Chinaunix首页 | 论坛 | 博客
  • 博客访问: 854911
  • 博文数量: 254
  • 博客积分: 5350
  • 博客等级: 大校
  • 技术积分: 2045
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-27 13:27
文章分类

全部博文(254)

文章存档

2015年(1)

2014年(9)

2013年(17)

2012年(30)

2011年(150)

2010年(17)

2009年(28)

2008年(2)

分类: C/C++

2013-01-09 13:04:49

几个有意思的基础C题,结果需要深思

点击(此处)折叠或打开

  1. [root@ethan lua]# cat testsh.cpp
  2. #include<iostream>
  3. using namespace std;
  4. union t
  5. {
  6.         int i;
  7.         char str[2];
  8. };
  9. union myun
  10. {
  11.  struct {int x; int y; int z;} u;
  12.  int k;
  13.  int j;
  14. }a;
  15. int main()
  16. {
  17.         t test;
  18.         test.i=0;
  19.         test.str[0]=20;
  20.         test.str[1]=1;
  21. // cout <<"str[0]=" << test.str[0] << " str[1]=" << test.str[1] << endl;
  22.         cout << "test.i = " << test.i << endl;

  23.         a.u.x = 4;
  24.         a.u.y = 5;
  25.         a.u.z = 6;
  26.         a.k = 0;
  27.         cout << a.u.x << " " << a.u.y << " " << a.u.z << endl;
  28.         a.j = 1;
  29.         cout << a.u.x << " " << a.u.y << " " << a.u.z << endl;

  30.         char a[] = "abc";
  31.         char *pa = "abc";
  32.         char b[] = "abc";
  33.         //char *pa = "abc";
  34.         char *pb = "abc";
  35.         const char c[] = "abc";
  36.         const char* ppa = "abc";
  37.         const char d[] = "abc";
  38.         //const char* ppa = "abc";
  39.         const char* ppb = "abc";
  40.         cout << (a == b) << endl;
  41.         cout << (pa == pb) << endl;
  42.         cout << (c == d) << endl;
  43.         cout << (ppa == ppb) << endl;
  44.         return 0;
  45. }
[root@ethan lua]# ./testsh
test.i = 276 //字符间数据是相加的。。?
0 5 6
1 5 6 //联合体永远替换同空间
0
1
0
1

阅读(720) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~