我正在为类作业编写一个程序,并尝试在其他两个字符串之间连接一个等号“=”。
我目前拥有的内容如下:
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);
}
}
这会产生以下输出:
但是,当我将代码更改为具有两个等号或其他任何与此相关的内容时,如下所示:
printf("%s%s%s\n", first, " == ", second);
我得到了一个非常不同的输出,它更接近我需要的,但有两个等号而不是两个:
所以我的问题是,为什么当我输入一个等号以外的东西时,为什么它会打印这么多,并且当我仍然打印出所有应该打印的内容时,如何让它只成为一个符号?
最佳答案
printf("%s%s%s\n", first, " = ", second);
为什么不写这个而不是这个 -
printf("%s = %s\n", first, second);
但是如果您想将 =
附加到任何字符串,请使用 sprintf
。
关于在 C 中将单个等号连接到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33370817/