C语言编程题请教

题目描述

dhx又ac了,但是他的代码十分丑陋,他想请你帮他优化一下风格。 经过你的研究,你发现代码丑陋的原因在于代码中有数量不一的连续空格,你决定把代码中所有的极大的只包含空格的字符串都统一替换为x个连续空格,而对于空格以外的字符不做任何修改。(极大指无法再向左或者向右扩大一位而仍满足只包含空格的条件)。题目保证dhx代码总长度不超过120000。

输入
多行输入,请读到EOF。

第一行,一个整数,表示x(1≤x≤10)

第二行到文件的末尾都为dhx的代码。

输出
请输出修改后的dhx的代码

题目来源及自己的思路

相关代码

include<stdio.h>

int main(){

int x;
scanf("%d",&x);
char c;
while(c=getchar()!=EOF){
    if(c!=' ')
    putchar(c);
    else{
        for(int i=0;i<x;i++){
            putchar('');
        }
        do{
            c=getchar();
        }while(c==' ');
        if(c==EOF)break;
        else putchar(c);
    }
}
return 0;

}

你期待的结果是什么?实际看到的错误信息又是什么?

编译的时候显示第二个putchar()[Error] empty character constant 是什么意思

阅读 2.2k
1 个回答
else{
    for(int i=0;i<x;i++){
        putchar('');
    }
    在这个地方,你的意图是输出X个空格吧?但这里的 putchar('');两个单引号中间你并没有输入空格字符,所以有提示:错误,没有字符常量
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题