C笔试题-1
来源:互联网 发布:美达施膳食纤维粉 知乎 编辑:程序博客网 时间:2024/05/29 06:43
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha << ( str1==str2 ) << endl;// 输出什么? false
cout << boolalpha << ( str3==str4 ) << endl;//输出什么? false
cout << boolalpha << ( str5==str6 ) << endl;//输出什么? true
strX==strY
这样的比较,
实际上不是比较 字符串的内容,
而是比较了 字符串的 首地址, 也就是他们的指针!!
既然是比较地址,
那么显然 str1!=tr2, str3!=str4, 因为它们都是相对独立的 栈数组,
都有自己的空间, 那么比较地址自然就是不一样的。
str5 == str6
这个要看具体情况,
一种, 环境设置了 编译优化,
那么对于相同的常量, 环境将对其进行优化, 只保存一份内容,
使用不同的指针该内容,
这样, 得到的结果就是 str5 == str6, 因为它们都指向了 同一份内存内容;
另外一种情况,
如果不选择优化,
那么 和栈数组一样, str5 != str6
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha << ( str1==str2 ) << endl;// 输出什么?
cout << boolalpha << ( str3==str4 ) << endl;//输出什么?
cout << boolalpha << ( str5==str6 ) << endl;//输出什么?
这样的比较,
实际上不是比较
而是比较了
既然是比较地址,
那么显然
都有自己的空间,
str5
这个要看具体情况,
一种,
那么对于相同的常量,
使用不同的指针该内容,
这样,
另外一种情况,
如果不选择优化,
那么
0 0
- C笔试题-1
- C/C++笔试题 (1)
- C/C++笔试题(1)
- C语言笔试题1
- C/C++笔试题(1)
- C/C++笔试题1
- C语言笔试题-1
- C/C++笔试题(1)
- c/c++笔试题1
- 近期笔试题C/C++---1
- c++/c笔试题
- 笔试题1:C/C++ 笔试、面试题目大汇总
- C/C++ 相关笔试题(1)
- C语言的一些笔试题1
- C语言的一些笔试题1
- c/c++笔试题(1)
- c/c++笔试题(1)
- 常见的C语言笔试题1
- Linux设备驱动开发学习笔录-(init…
- mini2440 裸奔dm9000(上)
- mini2440 裸奔dm9000(下)
- 整理dm9000ae 芯片驱动程序 ---基…
- linux2.4和2.6在注册设备驱动函数…
- C笔试题-1
- linux下查看网络配置命令(转载)
- i2c总线的信号时序分析,复习一下…
- Remap
- s3c6410的UART设备驱动(5)
- s3c6410的UART设备驱动(5)
- rs232 422 485传输区别
- Ubuntu下增加Eclipse菜单图…
- 徐小明:这次我支持房产新政