循环哪里出错了
#include<stdio.h>#include<string.h>
void main()
{
char str[200];
int c,i;
gets(str);
c=strlen(str);
printf("原字符为:%s\n",str);
for (;c>0;c--)
for(i=0;i<=c;i++)
str[c]=str[i];
printf("%s",str);
}
#include<stdio.h> #include<string.h> void main() // 输出那个字说明数组越界了, { char str[200],str1[200],temp; int c,i=0; gets(str); c=strlen(str); printf("原字符为:%s\n",str); /* for (;c>0;c--) str1[i++]=str[c-1]; // 这种括起来的方法是用另一个字符数组来储存倒序的字符串 str1[i]='\0'; printf("%s",str1); */ for (;c>i;c--,i++) temp = str[c-1], str[c-1] = str[i],str[i] = temp; // 想交换两个字符必须要有中间变量,(位运算除外) printf("%s",str); }