关于sizeof()很奇怪的问题! 我用VC++ 6.0在程序里打印出sizeof("good morning") 为 13, 如下:int main(){ cout << sizeof("good morning") << endl; printf("size:%d",sizeof("good morning")); return 0;}但是如果debug, 在Watch 窗口输入sizeof("good morning"), 其值却是4.why? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你回得真快.rebuild 了, 一样.实际上在debug时, 在Watch 窗口输入任何sizeof("XXXXXXX")结果好象都是4. 当然,sizeof("dd")总是4,是首地址大小4字节,一百年不变,建议用strlen, 在watch里VC把"good morning"当成一个const char*指针,所以大小就是4 多谢各位.有人这样解释, 我觉得挺有道理:在程序里面,"good morning"是字符串常量,对此常量取大小,将返回串的大小在debug的watch窗口中,输入的"good morning"是变量(用户临时输入当然是要保存在一个char*变量里),取大小就是char*变量本身的大小,x86下就是4个字节. sizeof()取指针地址的大小,是4要计算字符串大小,用strlen() 我在CDHtmlDialog里调用JavaScript函数的问题 CString::replace里使用通配符可以吗 如何发送bin文件 MFC布局-----------请带点资料入内 在vc中如何得到cpu的使用率? 如何制作光盘文件? 在基于对话框的程序中关于Thread的问题? 知道一个窗口的句柄 如何向该窗口内的文本框发送一个字符串 为什么得到的只有第一个字符,不是整个串 广州工作的朋友有安徽的站出来 如何得到用FindWindow找到的窗口所在的程序?? 菜鸟求教:
rebuild 了, 一样.
实际上在debug时, 在Watch 窗口输入任何sizeof("XXXXXXX")结果好象都是4.
在程序里面,"good morning"是字符串常量,对此常量取大小,将返回串的大小在debug的watch窗口中,输入的"good morning"是变量(用户临时输入当然是要保存在一个char*变量里),取大小就是char*变量本身的大小,x86下就是4个字节.
要计算字符串大小,用strlen()