对键盘输入的字符串进行逆序,逆序后的字符串任然保留在原来的字符数组中,最后输出

不得调用任何字符串处理函数,包括strlen

第1个回答  2011-05-04
#include<stdio.h>

void swap_char(char * str, int i, int j)
{
char ch;

ch = str[i];
str[i] = str[j];
str[j] = ch;
}

int main(void)
{
char str[1024], ch;
int i, len;

printf("Please input the string, ended by RETURN\n");
len = 0;
while ((ch=getchar()) != '\n')
{
str[len] = ch;
len++;
}
str[len] = '\0';

printf("Before reverse: %s\n", str);

for (i = 0; i < len/2; i++)
{
swap_char(str, i, len-1-i);
}

printf("After reverse: %s\n", str);

return 0;
}追问

确定非要这么复杂?

追答

其实没啥内容,只是多了几行打印而已。另外,输入字符串那里用了个循环,没办法,你不让用任何字符串相关函数,只有用循环才能算出字串长度。

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网