我正在学习C,而且我遇到了一些问题,这些问题让我(看似)编写冗余代码。我发现自己正在编写像
这样的代码printf("%c", someChar);
printf(" ");
(因为它处于循环中)会输出类似
的内容a b c
有没有办法合并这些印刷语句?
答案 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
,\\
和\"
。