当前位置: 代码迷 >> C语言 >> [求助]
  详细解决方案

[求助]

热度:426   发布时间:2005-05-18 17:37:00.0
[求助]
哪位高手帮我分析一下 ,下面的程序哪里出错?非常感谢!
   输入一个字符串,按逆序输出。
   #include<stdio.h>
   #include<string.h>
   #include<conio.h>
   main()
   {
    char a,b[79];
    int i,j,n;
    printf("请输入要输入字符的个数:\n");
    scanf("%d",&n);
    printf("请输入字符串:\n");
    gets(b);
    for(i=0;i<(n/2);i++)
    {
        a=b[n-i-1];
        b[n-1-i]=b[i];
        b[i]=a;
     }
    puts(b);
    getch();
  }
搜索更多相关的解决方案: 分析  include  字符串  

----------------解决方案--------------------------------------------------------
程序的逻辑应该没有问题, 关键在于scanf这个函数, 是有很多副作用的.
如果你把这个去掉, 改为用strlen求输入串的长度, 应该没有问题
----------------解决方案--------------------------------------------------------
谢了
----------------解决方案--------------------------------------------------------
//输入一个字符串,按逆序输出。 #include<stdio.h> #include<string.h> #include<conio.h> int main() { char a,b[79]; int i,j,n; printf("请输入要输入字符的个数:\n"); scanf("%d",&n); fflush(stdin); printf("请输入字符串:\n"); gets(b); for(i=0;i<(n/2);i++) { a=b[n-i-1]; b[n-1-i]=b[i]; b[i]=a; } puts(b); getch(); return 0; }
----------------解决方案--------------------------------------------------------
请问以下 fflush(stdin);这有什么功能?
----------------解决方案--------------------------------------------------------
清流函数
把内存缓冲区的还未读取的字符清空!!!
----------------解决方案--------------------------------------------------------
这在VC上不能运行啊,一运行就提示error : 'srdin' : undeclared identifier
----------------解决方案--------------------------------------------------------
晕!这程序不长也不难,既然你能写出来,那你细心一点、耐心一点也应该能找出毛病来!
----------------解决方案--------------------------------------------------------
  相关解决方案