A-A+

请选出正确的程序段A.int*p; scanf(\%d p); …B.int *s k;

2022-08-06 01:26:45 问答库 阅读 174 次

问题详情

请选出正确的程序段
A.int*p; scanf("%d",p); …
B.int *s,k; *s=100; …
C.int *s,k; char *p,c; s=&k; p=&c; *p="a"; …
D.int *s,k; char *p,e; s=&k; p=&c; s=p; *s=1; …

参考答案

正确答案:C
解析: 本题的选项A)和B)犯了同样的错误,即指针变量在定义后并没有指向具体的变量。也就是说,指针变量中没有确定的地址值,它的值是不可预见的,所指的单元也是不可预见的,因此不能进行赋值操作。另外,在选项D)中,s是int型指针变量,p是char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量p的值赋给整型指针变量s。

考点:程序