字符串的输出问题#include stdio.hvoidmain(){char*str 17 printf( %x ,str)}为什么结果是420020
字符串的输出问题
#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 "。。。));
