C语言如何读取用户输入的3个字符并拼接为单个单词输出
C语言3字符拼接输出实现方案
问题根因
你之前的printf语句的格式占位符之间添加了空格,会导致输出的三个字符之间自动插入空格,所以无法得到连续的拼接结果。
实现方法
方法1:直接修改printf格式串(最简单,无需额外存储)
直接删除格式串中%c之间的多余分隔符即可,代码如下:
printf("%c%c%c", char1, char2, char3);
该写法会直接连续输出三个字符,即可得到ABC的效果。
方法2:拼接为字符串存储(适合需要复用拼接结果的场景)
如果后续逻辑需要使用这个拼接好的完整字符串,可以将字符存入字符数组并补字符串结束符,示例代码如下:
// 定义字符数组,长度需要比字符数多1,预留'\0'的位置 char result[4]; result[0] = char1; result[1] = char2; result[2] = char3; // 补字符串结束标记,避免输出乱码 result[3] = '\0'; // 直接用%s输出完整字符串 printf("%s", result);
注意事项
如果使用%c读取用户输入时,会将用户输入后按下的换行符识别为有效字符,导致读入的字符不符合预期。可以在scanf的格式串前加空格,自动跳过空白符(换行、空格、制表符等),写法如下:
scanf(" %c", &char1); scanf(" %c", &char2); scanf(" %c", &char3);
内容的提问来源于stack exchange,提问作者TheWitherStone
相关产品推荐
相关产品推荐

