预测以下程序的输出
null
#include<stdio.h> int main() { int a = 12; void *ptr = ( int *)&a; printf ( "%d" , *ptr); getchar (); return 0; } |
(A) 12 (B) 编译错误 (C) 短时间错误 (D) 0 答复: (B) 说明: “printf(“%d”,*ptr);”行中存在编译器错误。
无法取消引用void*类型指针。我们必须在取消引用之前键入并强制转换它们。
下面的程序运行良好,可以打印12个。
#include<stdio.h> int main() { int a = 12; void *ptr = (int *)&a; printf("%d", *(int *)ptr); getchar(); return 0; }
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END