字符串的输出问题
#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 "。。。));