C语言旅途之使字符串反向问题

Ⅰ、字符串反向问题:
①、//代码摘下直接可以运行
//字符串反向问题
#include<stdio.h>
#include<string.h>
int main()
{
char str[80],c;
int i,j,n;
printf(“Input the number of string:\n”);
gets(str);
//非格式化输入函数;
n=strlen(str);
for(i=0,j=n-1;i<j;i++,j–) //当n为奇数时(例如:n=7),i<j 最后是中间的数 例如2,4会全变成3(自己交换),交换也无影响;
//当n为偶数时(例如:n=6),i<j 最后是中间的数 例如2,3,那么将进行2与3的交换,符合题意;
{
c=str[i];
str[i]=str[j];
str[j]=c;
}
printf(“Output the number of string:\n”);
puts(str);
//非格式化输出函数;
//printf("%s\n",str);
return 0;
}
②、结果展示:
例如:此程序是用来将输入的字符串倒置过来形成新的字符串并显示出来,结果如下所示:
C语言旅途之使字符串反向问题
☺寄语:
Ⅰ、此程序在Visual C++6.0版本上运行的;
Ⅱ、如果我给的程序有问题,或在叙述方面有问题,或者看不懂我讲解的意思,请及时指出或留言和我讨论,谢谢各位大佬!!!
Ⅲ、
①、此程序的最主要的部分是在字符串交换的时候即:for循环语句
②、for(i=0,j=n-1;i<j;i++,j–)在交换过程中需要注意的的问题是:当n为奇数时(例如:n=7),i<j 最后是中间的数 例如2,4会全变成3(自己交换),交换也无影响;
当n为偶数时(例如:n=6),i<j 最后是中间的数 例如2,3,那么将进行2与3的交换,符合题意;