以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是main(){ int *p,*q,a,b; 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是一个指针变量
正确答案:B在本题中,题目告诉我们程序中调用scanf函数给变量a输入数值的方法是错误的,要求我们找出其错误的原因,这是一类错误原因分析题。在本题程序中,首先定义两个整型指针变量p和q,然后定义两个整型变量a和b,让指针变量p执行变量a,接着输出提示语句“请输入a”,执行格式输入语句scanf,由于输入语句的输入列表中给出的应该是输入的地址,即存放输入数据的存储地址,但在本题的输入语句中给出的是*p,这表示一个数值,而非地址。因此,无法完成数据的输入,若要完成输入,可以将*p改为p。根据上面的分析,我们可以知道本题
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
