问题
填空题
以下函数inverse的功能是使一个字符串按逆序存放,请填空。
inverse(char str[])
char m;
int i,j;
for(i=0,j=strlen(str);i<strlen(str)/2; 【18】 ,j--)
m=str[i];
str[i]= 【19】 ;
【20】 ;
答案
参考答案:i++或++i str[j-1] str[j-1]=m
解析: 字符中逆序存放的算法是:将字符串中的第i个字符和第strlen(str)-i个字符交换。然后交换字符串中第i+1个字符和第(strlen(str)-i)-1个字符,故循环变量i的值应改变,且步长为1,所以[18]处应填i++;读程序可知,循环中通过中间变量m交换字符串中的第i个字符和第strlen(str)-i个字符,所以题中[19]、[20]处应分别填写str[j-1]、str[j-1]=m。