【发布时间】:2023-03-16 21:00:01
【问题描述】:
int main(int argc, const char * argv[])
{
int age = 40;
float gpa = 3.25f;
char grade ='A';
double fun = 2.000043f;
char companyName[20] = "O'Brien Enterprises";
int *pAge = &age;
int *pGpa = &gpa;
int *pGrade = &grade;
int *pFun = &fun;
int *pCompanyName = &companyName;
printf("Value of variables through pointers:\n");
printf("age = %i\n", *pAge);
printf("gpa = %f\n",*pGpa);
printf("grade = %c\n", *pGrade);
printf("fun = %d\n", *pFun);
printf("companyName = %s\n", *pCompanyName);
return 0;
}
当我运行此代码时,Xcode 会回复大量警告和错误。在声明和初始化除age 之外的所有变量的指针时,它会显示incompatible pointer types。当试图打印出来时,除了age,format specifies a different type 之外的所有内容。为什么是这样?当代码按原样运行时,我得到以下结果:
Value of variables through pointers:
age = 40
gpa = 0.000000
grade = A
fun = -2147483648
(lldb)
【问题讨论】:
标签: c pointers dereference