不得调用任何字符串处理函数,包括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;
}追问
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;
}追问
确定非要这么复杂?
追答其实没啥内容,只是多了几行打印而已。另外,输入字符串那里用了个循环,没办法,你不让用任何字符串相关函数,只有用循环才能算出字串长度。
本回答被提问者采纳