以下程序中调用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是一个指针变量

题目

以下程序中调用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是一个指针变量


相似考题
更多“以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是 main() { int *p,*q,a,b; ”相关问题
  • 第1题:

    以下程序中调用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是一个指针变量


    B 在本题中,题目告诉我们程序中调用scanf函数给变量a输入数值的方法是错误的,要求我们找出其错误的原因,这是一类错误原因分析题。 在本题程序中,首先定义两个整型指针变量p和q,然后定义两个整型变量a和b,让指针变量p执行变量a,接着输出提示语句“请输入a”,执行格式输入语句scanf,由于输入语句的输入列表中给出的应该是输入的地址,即存放输入数据的存储地址,但在本题的输入语句中给出的是*p,这表示一个数值,而非地址。因此,无法完成数据的输入,若要完成输入,可以将*p改为p。 根据上面的分析,我们可以知道本题程序出错的原因是*p表示的是变量a的值,而不是变量a的地址。因此本题正确答案选B。

  • 第2题:

    4、以下程序中调用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是一个指针变量


    B 解析:考查格式输入语句scanf的使用。本题经过定义语句和赋值后,p表示的是变量a的地址,*p表示的是变量a的值。

  • 第3题:

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

    A.*p表示的是指针变量p的地址;

    B.*p表示的是变量a的值,而不是变量a的地址

    C.*p表示的是指针变量p的值

    D.*p只能用来说明p是一个指针变量


    *p表示的是变量a的值,而不是变量a的地址

  • 第4题:

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

    A.*p表示的是指针变量p的地址;

    B.*p表示的是变量a的值,而不是变量a的地址

    C.*p表示的是指针变量p的值

    D.*p只能用来说明p是一个指针变量


    B

  • 第5题:

    以下程序中调用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是一个指针变量


    B 在本题中,题目告诉我们程序中调用scanf函数给变量a输入数值的方法是错误的,要求我们找出其错误的原因,这是一类错误原因分析题。 在本题程序中,首先定义两个整型指针变量p和q,然后定义两个整型变量a和b,让指针变量p执行变量a,接着输出提示语句“请输入a”,执行格式输入语句scanf,由于输入语句的输入列表中给出的应该是输入的地址,即存放输入数据的存储地址,但在本题的输入语句中给出的是*p,这表示一个数值,而非地址。因此,无法完成数据的输入,若要完成输入,可以将*p改为p。 根据上面的分析,我们可以知道本题程序出错的原因是*p表示的是变量a的值,而不是变量a的地址。因此本题正确答案选B。