一秒钟区分是普通菜鸟还是超级菜鸟
c++吧
全部回复
仅看楼主
level 10
下面代码的执行结果,不许翻书,不许度娘
#include <iostream>
#include <string>
using namespace std; int main()
{
string s1;
string s2("hello");
string s3(" world");
cout<<sizeof(s1=s2+s3)<<endl;
cout<<s1<<endl;
return 0;
}
2012年11月16日 11点11分 1
level 10
没说不准上机。。[大笑]
2012年11月16日 11点11分 2
[拍砖]补上,不准上机
2012年11月16日 11点11分
level 11
别干傻事
2012年11月16日 12点11分 3
[拍砖]说好了菜鸟的,大婶勿进
2012年11月16日 12点11分
回复 挂羊头卖犬肉 :少年你别干傻事 这种标题..然后 不用c++菜虫都不是
2012年11月16日 12点11分
level 9
我属于超级菜鸟。应该是11和hello world,我想应该是吧……
2012年11月16日 13点11分 4
hello world亮了。
2012年11月16日 13点11分
回复 RichSelian :……,原来是空的,原来cout<<sizefo(s1=s2+s3)不能算初始化啊
2012年11月16日 13点11分
回复 binxuan7 :首先,就算执行了s1=s2+s3,这也不算初始化,只能算赋值,初始化和赋值是两码事;第二,sizeof(表达式) 这个表达式不被执行,而只是判断一下表达式的结果是什么类型
2012年11月17日 01点11分
sizeof不能计算字符串长度的,sizeof是关键字不是函数,sizeof表达式编译后都会转换为常数,所以不可能输出11,输出的是string类所有成员变量的总内存大小。
2012年11月17日 05点11分
level 12
骗经验也换个格式吧..
2012年11月16日 13点11分 5
[拍砖]没注意,刚发现已经1000经验了,成功水到9级[Love]
2012年11月16日 13点11分
回复 挂羊头卖犬肉 :[啊!]话说司马13级了..
2012年11月16日 14点11分
level 6
回复1楼:是4 和空行(‘\0’)吗?要按自己写string类会有‘\0’,不过string好像没有’\0’
2012年11月16日 14点11分 7
这个不定的吧,g++下是8
2012年11月16日 15点11分
level 13
楼主,我是超级菜鸟,什么都不懂……
2012年11月16日 14点11分 8
1