循环哪里出错了
#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);
}
2009-11-10 13:12
2009-11-10 13:15
程序代码:#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);
}
2009-11-10 13:35

2009-11-10 14:06
2009-11-10 14:13
2009-11-10 14:14


2009-11-10 16:49
2009-11-10 16:54

2009-11-10 20:28
程序代码:char str[200];
int c,i;
int temp;
gets(str);
c=strlen(str);
printf("原字符为:%s\n",str);
for(i = 0;i < c;i++ , c--)
{
temp = str[i] ;
str[i] = str[c];
str[c] = temp;
}比较简单吧。
2009-11-10 20:37