我发现打印char数组时,Xcode和Eclipse之间有区别。
在xcode中:
输出为:
在Eclipse中:
输出:
有人可以告诉我为什么Xcode中后面跟着“ qe”吗?
最佳答案
如果要将char数组视为要打印的字符串,则需要使它以null终止。这意味着最后一个字符必须为\0
。
char d[] = {'q', 'e', '\0'}; // NOTE: null terminator '\0'
char* b = d;
std::cout << b << std::endl;
否则,您将结束打印数组末尾内存中的所有内容,因为空字符会告诉它何时停止打印。