AI智能整理导入 AI智能整理导入
×
首页 题库中心 级蒜挤鸡嫩芝士大赛 题目详情
C90FE803D1A00001C0B91D8282D71650
级蒜挤鸡嫩芝士大赛
2,740
单选题

有以下程序

void fun1(char *p)

{char *q;

q=p;

while(*q!='\0')

{ (*q)++; q++;

}

main()

{char a[]={"Program"}, *p;

p=&a[3];fun1(p);printf("%s\n",a);

}

程序执行后的输出

A
Prohsbn
B
Prphsbn
C
Progsbn
D
Program

答案解析

正确答案:A

解析:

不好理解
考核的知识点是指向数组的指针作为函数的参数及指针的运算,如果形参数组中的元素发生变 化,实参也将发生相应变化。指针 p 指向数组的第三位地址(即字符“g”的地址),q=p 也就相当于指针q 指向数组的第三位地址。表达式(*q)++,首先根据()的优先级得到 a[3]的值“g”,再进行加 1 运算,所以g 也就变成了 h;表达式 q++是将地址加 1,也就是指向下一个地址 a[4]。然后再执行 while()语句,直到遇 到'\0'结束循环,返回形参。
级蒜挤鸡嫩芝士大赛

扫码进入小程序
随时随地练习

关闭
专为自学备考人员打造
试题通
自助导入本地题库
试题通
多种刷题考试模式
试题通
本地离线答题搜题
试题通
扫码考试方便快捷
试题通
海量试题每日更新
试题通
欢迎登录试题通
可以使用以下方式扫码登陆
试题通
使用APP登录
试题通
使用微信登录
xiaochengxu
联系电话:
400-660-3606
xiaochengxu