一个关于c指针的很基础的东西!求大神解释下,不胜感激!
#include <stdio.h>
#include <stdlib.h>
int main()
{
char * p = (char *)malloc(5);//这行明白!
p = "12345";
printf("%d\n", *(p + 2));
return 0;
}
//输出结果为51
//我不明白为什么?
[解决办法]
*(p+2)为'3' 对应的ASCII码为51 所以输出51
发布时间: 2012-11-05 09:35:12 作者: rapoo
一个关于c指针的很基础的东西!求大神解释下,不胜感激!
#include <stdio.h>
#include <stdlib.h>
int main()
{
char * p = (char *)malloc(5);//这行明白!
p = "12345";
printf("%d\n", *(p + 2));
return 0;
}
//输出结果为51
//我不明白为什么?
[解决办法]
*(p+2)为'3' 对应的ASCII码为51 所以输出51