问题
单项选择题
以下函数实现的功能是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相遇),循环结束。从而实现了将一个字符串首尾颠倒的功能。