在C中组合打印语句

时间:2015-11-08 18:00:10

标签: c

我正在学习C,而且我遇到了一些问题,这些问题让我(看似)编写冗余代码。我发现自己正在编写像

这样的代码
printf("%c", someChar);
printf(" ");

(因为它处于循环中)会输出类似

的内容
a b c 

有没有办法合并这些印刷语句?

3 个答案:

答案 0 :(得分:4)

循环中除第一个字符输出之外的每个字符都需要一个前导空格。

for (int x = 0; x < len; x++)
{
     char c = get_next_char();
     printf("%s%c", (x==0) ? "" : " ", c); // if (x == 0) then print "%c" else print " %c"
}

答案 1 :(得分:4)

只需写下:printf("%c ", someChar);

请注意%c

之后的空格

答案 2 :(得分:0)

在这种情况下,您可以在%c之后放置一个空格

printf("%c ", someChar);

在其他一些情况下,您可以使用escpae序列使用单个printf语句格式化输出(以减少所说的printf语句), 在“”中尝试这些,比如,

printf("%c\n", someChar);

\n放置一个新行

其他一些人是\t\\\"