首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >编写一个将输入复制到输出的程序

编写一个将输入复制到输出的程序
EN

Stack Overflow用户
提问于 2019-06-24 08:41:45
回答 2查看 496关注 0票数 0

我正在尝试编写一个程序,将其输入复制到其输出。我假设如果给我以下字符串:"Hello I am /c“,它应该输出:"Hello \t am \c”,我说对了吗?

我尝试在网上阅读有关stdio.h库的内容。

代码语言:javascript
复制
#include <stdio.h>
/* Write a program to copy its input to its output, replacing each tab by \t, each backspace by \b, and each backslash by \\. This makes tabs and backspaces visible in an unambigous way.*/

int main()
{
    char c;

    while ((c = getchar()) != EOF){

        if ((c = getchar()) == '\t'){
            putchar('\t');
        }
        if (c == '\b'){
            puts("\b");
        }
        if (c == '\\'){
            puts("\\");
        }

        putchar(c);
    }

}

请帮助我进一步理解这个问题,并解释为什么我的代码不能工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-24 08:46:23

有两个问题。首先:

代码语言:javascript
复制
while ((c = getchar()) != EOF){

您应该将getchar()的返回值与EOF进行比较。在这里,我们将cEOF进行比较。这是不正确的,因为c是一个char,而getchar返回一个int。因此,您应该将intEOF进行比较,并将charEOF进行比较。这是错误的。

第二:

代码语言:javascript
复制
    if ((c = getchar()) == '\t'){

你为什么又打电话给getchar?你不会想读另一个字符的。

票数 2
EN

Stack Overflow用户

发布于 2019-06-25 04:39:20

代码语言:javascript
复制
#include <stdio.h>
/* Write a program to copy its input to its output, replacing each tab by \t, each backspace by \b, and each backslash by \\. This makes tabs and backspaces visible in an unambigous way.*/
// c is a char and getchar returns an int
int main()
{
    char c;

    while ((c = getchar()) != EOF)
    {

        if (c == '\t'){
            //putchar('\t');
            printf("\\t");
        }
        else if (c == '\b'){
            printf("//b");
            //puts("\b");
        }
        else if (c == '\\'){
            printf("\\\\");
            // no, this is gay(Ruby code) -> puts("\\");
        } else  {

        putchar(c);
        }
    }

}

我的代码也是类似的--我只是忘记了我也可以用C语言编写()`,而不是使用更严格的putchar()函数。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56728692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档