在 C 中将单个等号连接到字符串

标签 c

我正在为类作业编写一个程序,并尝试在其他两个字符串之间连接一个等号“=”。

我目前拥有的内容如下:

void print_csv(csv_line header, csv_line data) {
    int index;

    char first[MAX_CHARS];
    char second[MAX_CHARS];

    for(index = 0; index < header.nfields; index++) {
        strcpy(first, header.field[index]);
        strcpy(second, data.field[index]);
        printf("%s%s%s\n", first, " = ", second);
    }
}

这会产生以下输出:

First output

但是,当我将代码更改为具有两个等号或其他任何与此相关的内容时,如下所示:

printf("%s%s%s\n", first, " == ", second);

我得到了一个非常不同的输出,它更接近我需要的,但有两个等号而不是两个:

Second output

所以我的问题是,为什么当我输入一个等号以外的东西时,为什么它会打印这么多,并且当我仍然打印出所有应该打印的内容时,如何让它只成为一个符号?

最佳答案

printf("%s%s%s\n", first, " = ", second);

为什么不写这个而不是这个 -

printf("%s = %s\n", first, second);

但是如果您想将 = 附加到任何字符串,请使用 sprintf

关于在 C 中将单个等号连接到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33370817/

相关文章:

C - 求解魔方

c - 颠倒C语言中单词的顺序

c - 使用 clang 强制执行 ANSI C89

c - 为什么 dup() 和 popen() 在从另一个进程调用时会阻止我的进程退出?

c - 当我删除第一个节点时,它会生成无限循环错误

有人可以解释模数是如何工作的吗?

c++ - 通过 `void *` 和 C++ `extern "C"` 函数调用在 C 中初始化一个 C++ 类

c - 从 C 中查找 Lua 数的符号

c - 在 C 中搜索素数时遇到问题

ios - iPhone 应用程序的 C 代码链接错误