以下是引用xiaomarn在2010-12-20 18:31:28的发言:
#include
main()
{
printf("%c%c\n",0xcc,0xcc);
}
出现汉字的原因
将两个字符解析成一个宽字符了(还是UNICODE?)
出现的结果是由于,str位于高地址,str1位于低地址
而str1里面全是0xcc,没有结束符'\0',所以先打印了str,然后打印str1时,将两个字节内容打印成一个汉字(于是有十个汉字),但没有结束符,继续打印后面的str(高地址,注意会有地址对齐,但刚好str1长20,被4整除,所以str位于20位置,紧接str1之后),直到遇到str里面的'\0',结束(这个问题119应该理解深刻吧,hehe)
对该答案非常满意,谢谢了哈!