C语言 输入一个长度不超过10个字符的字符串,将其反序输出。要求两种方法

2025-02-27 21:42:34
推荐回答(2个)
回答1:

第一种:

#include 
#include 

int main()
{
char str1[] = "abcd";
char str2[10] = {0};
int i, j=0, len = strlen(str1);

for (i=len-1;i>=0;i--) {
str2[j] = str1[i];
j++;
}
for (i=0;i str1[i] = str2[i];
printf("%s\n", str1);

return 0;
}

第二种:

#include 
#include 

int main()
{
char str[] = "abcd";
char tmp;
int i, len = strlen(str), j=len-1;

for (i=0;i if (i>len/2)
break;
tmp = str[i];
str[i] = str[j];
str[j] = tmp;
j--;
}
printf("%s\n", str);

return 0;
}

回答2:

第一种:
#include
void main()
{
char str[10]={"abcd"};
char str2[10];
int i,j=0;
for(i=0;str[i]!='\0';i++);
i--;
for(;i>=0;i--)
{
str2[j++]=str[i];
}
for(i=0;str2[i]!='\0';i++)
{
str[i]=str2[i];
}
printf("%s",str);
}

第二种:
#include
void main()
{
char str[10]={"abcd"};
char c;
int i,j=0;
for(i=0;str[i]!='\0';i++);
i--;
for(;j {
c=str[i];
str[i]=str[j];
str[j]=c;
}
printf("%s",str);
}