守望的摩天轮 发表于 2017-5-27 20:55:37

谁能解决这个问题?

#include<stdio.h>
#include<stdlib.h>
main()
{
        FILE *fp;
        char ch,filename;
        printf("请输入文件名:");
        scanf("%s",filename);
        if((fp=fopen(filename,"wt+"))=NULL)
        {
                printf("文件打开失败");
                exit(0);
        }
                printf("请输入想要写入的句子:");
                ch=getchar();
                ch=getchar();
                while(ch!=EOF)
                {
                        fputs(ch,fp);
                        ch=getchar();
                }
                fclose(fp);
}
这个代码哪里错了?

守望的摩天轮 发表于 2017-5-27 20:56:57

那位大神来帮帮我

lumber2388779 发表于 2017-5-29 09:59:38

fputs(ch,fp);这个是放进去一个字符串的 ,你单个字符的话要改成fputs(&ch,fp);

overflow 发表于 2017-5-29 12:10:10

这是fputs函数的原型:int fputs ( const char * str, FILE * stream );
第一个入口参数是字符串常量或者字符指针,传入单个的字符变量当然就出问题了,修改fputs(&ch,fp);就可以了。
页: [1]
查看完整版本: 谁能解决这个问题?