读书人

字符串的输出有关问题

发布时间: 2012-02-29 16:44:11 作者: rapoo

字符串的输出问题
#include <stdio.h>
void main()
{
char*str = "17 ";
printf( "%x ",str);
}
为什么结果是420020 ?

[解决办法]
#include <stdio.h>
void main()
{
char*str = "17 ";
printf( "%s ",str);
}

这样就是输出 "17 "了
楼主这样实际输出的字符串开始的地址
[解决办法]
char *str = "17\0\0 "; // 添上两个0防止溢出
printf( "%x ", *(unsigned long*)str );
[解决办法]
printf( "%x ", atoi( "17 "。。。));

读书人网 >C++

热点推荐