问题
单项选择题
以下函数实现的功能是
void fun (char *s) char *p,*q,temp;
p=s;
q=s+ strlen(s)-1;
while (p<q)
temp=*p;
*p=*q;
*p=temp;
p++;
q--;
A.将一个字符串首尾颠倒
B.计算字符串的长度
C.统计字符串中的空格个数
D.将字符串中的小写字母变成大写字母
答案
参考答案:A
解析: 本题考核while循环语句和指针的使用。在该函数中,循环开始时,指针p指向字符串的第1个字符,指针q指向字符串的最后一个字符,首先交换这两个字符;然后,指针p前进一个字符位置(指向下一个字符),指针q后退一个字符位置(指向前一个字符);经过若干次循环,条件p<q将为假(即指针p和指针q相遇),循环结束。从而实现了将一个字符串首尾颠倒的功能。