旭旭宝宝直播搞笑视频:C语言问题1

来源:百度文库 编辑:高考问答 时间:2024/04/29 05:38:56
设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是
A) scanf(“%d”,pA) ; B) scanf(“%d”,A) ;
C) scanf(“%d”,&pA) ; D) scanf(“%d”,*pA)
答案A为什么啊
能讲下为什么吗?能详细点那就更好了先谢谢了

因为scanf是个函数,它要求输入两部分参数。一部分参数以字符串形式给出。也就是题中的“%d”。另一部分是能代表地址的参数。
A:pa是指向变量a的指针,代表a的地址,正确。
B:a只是变量,不能代表地址,错误。正确应该为scanf(“%d”,&a) ; (其中&为取地址符号)
C:&pa 代表指针pa的地址,不符合题意。
D: *代表取内容,等价于scanf(“%d”,A) ; 错误。

int a,*pa=&a;
相当于int a,*pa;
pa=&a;
pa 是指向a的指针.它的内容是a的地址.
scanf里应该是地址.所以选A