问题 单项选择题

设有定义:int a, *pa=&a; ,以下scanf语句中能正确为变量a读入数据的是( )。
A) seanf("%d", pa); B) seanf("%d", a);
C) scanf("%d", &pa); D) scanf("%d", *pa);

答案

参考答案:A

解析: 本题考核的知识点是scanf()函数和指针类型变量的简单应用。scanf()函数的功能是进行输入数据,它是按格式参数的要求从终端上把数据传送到地址参数所指定的内存空间中,C语言允许程序员间接地使用内存地址,这个地址是通过对变量名“求地址”运算得到的,求地址的运算符是&,得到的地址是一种符号地址。本题中定义了整型变量a和一个指向整型数据的指针变量pa,并定义pa是一个存放a的地址的变量。选项B)中应该将a改为&a,故选项B)不正确;选项C)应该将&pa改为pa,因为pa已经表示存放a的地址,故选项C)不正确;选项D)中*pa=a,而不是表示a的地址,所以选项D)不正确。

单项选择题
单项选择题