读书人

有人吗?帮小弟我看道题

发布时间: 2012-04-07 17:31:50 作者: rapoo

有人吗?帮我看道题
#include<iostream>
using namespace std;

int main()
{
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; // 输出什么?
cout << boolalpha << ( str3==str4 ) << endl; // 输出什么?
cout << boolalpha << ( str5==str6 ) << endl; // 输出什么?
return 0;
}

[解决办法]
boolalpha是什么?
[解决办法]
是 假.假.真 为什么呢
[解决办法]
字符串”abc”在常量区里只有一份。三组比较的都是地址:5,6为指向常量字符串的指针,所指向的地址相同。而前4个是将字符串的值复制
给栈上数组1~4,比较的是数组的首地址,各数组的地址不相同。

读书人网 >C++

热点推荐