题目内容

以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。 main() { int *p, *q, a, b; p = &a; printf(“input a: “); scanf(“%d”, *p); ……; }

A. *p表示是指针变量p的地址
B. *p表示的是变量a的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量

查看答案
更多问题

已有如下说明: float *p, m = 3.14; 且需要使指针变量p指向变量m,则正确的赋值语句是( )。

A. p = m;
B. p = &m
C. *p = m;
D. *p = &m;

下面程序段的运行结果是( )。 char *s = “abcde”; s += 2; printf(“%d”, s);

A. cde
B. 字符’c’
C. 字符’c’的地址
D. 不确定输出结果

设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的语句是( )。

A. c = *p1 + *p2;
B. p2 = c;
C. p1 = p2;
D. c = *p1 * (*p2);

若有以下定义,则在下面表达式中不表示s[1]的地址的是( )。 char s[10];

A. s + 1
B. s++
C. &s[0] + 1
D. &s[1]

答案查题题库