C++下面程序段的运行结果是 char * p = “abcdefgh”; p +=3; cout<< strlen(strcpy(p,”ABCD”))

如题所述

运行结果是直接崩溃 strcpy(p,”ABCD”) 这句话有一个很隐蔽的问题 p现在指向了静态数据区 strcpy 是数据拷贝 而你往静态数据区写数据是犯了大忌的!!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-04
char * p = “abcdefgh”;
p +=3; p = “defgh”; 字符串还是“abcdefgh”;
strcpy(p,”ABCD”)

p = “ABCD”;
strlen(strcpy(p,”ABCD”))=4

cout<< strlen(strcpy(p,”ABCD”))

输出4追问

答案是:出错。。。???

追答

后面没加分号;你没有写全文,别人自然不关心你的个别疏漏。

本回答被网友采纳
第2个回答  2013-01-04
如果没看错的话 结果=5
相似回答