请选出正确的程序段( ). A) int *p; B) int *s, k; scanf("%d",p); *s=100; … … C) int *s, k; D) int *s, k; char *p, c; char *p, e; s=&k; s=&k; p=&c; p=&c; *p='a'; s=p; … *s=1; …
A: p是指针变量,在未获得值之前不能使用,scanf("%d",p); 无意义。
B: s是指针变量,在未获得值之前不能使用,此时使用*s无意义。
C: 定义与使用均没问题
D: 指针变量s和指针变量p基类型不同, s=p无意义
A: p是指针变量,在未获得值之前不能使用,scanf("%d",p); 无意义。
B: s是指针变量,在未获得值之前不能使用,此时使用*s无意义。
C: 定义与使用均没问题
D: 指针变量s和指针变量p基类型不同, s=p无意义
举一反三
- 请选出正确的程序段[br][/br]A)int*p; B)int*s,k;[br][/br]scanf("%d",p); *s=100;[br][/br]… …[br][/br]C)int*s,k; D)int*s,k;[br][/br] char*p,c; char*p,e;[br][/br] s=&k; s=&k;[br][/br] p=&c; p=&c; A: A)int*p;<br>scanf("%d",p);<br>… B: B)int*s,k;<br>*s=100;<br>... C: C)int*s,k;<br>char*p,c;<br>s=&k; D: D)int*s,k;<br>char*p,e;<br>s=&k;
- 下列程序段没有错误的是( )。 A: int*p;cin>>*p; B: int*s,k;*s=100 C: int *s ,k; char *p ,c; s=&k; p=&c; *p='a'; *s=1; D: int *s,k; char *p,c; s=&k; p=&c; s=p;
- 要将void*类型的指针变量p赋值给char*类型的指针变量s,下列那种写法是错误的() A: B: s=(void*)p C: s=(char*)p D: s=(char*)(p) E: s=static_castp<char*>p
- 下列哪句是指针变量的声明? A: char s; B: char *p; C: *p=&s; D: *p='a';
- 下列哪句是指针变量的声明? A: char s; B: char *p; C: *p=&s; D: *p='a';