一个关于c指针的很基础的东西!求大神解释上,不胜感激
一个关于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
#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