夜雨&(* 2021-11-30 21:23 采纳率: 88.9%
浏览 18
已结题

求解,为什么putchar()输出的结果不正确。

求解,为什么putchar()输出的结果不正确。


#include<stdio.h>
#include<string.h>
int main()
{
    char str1[21], str2[21], str3[21];
    const int COUNT = 21;
    int i, j;
    printf("请输入一个长度不超过20的字符串(用getchar()实现):\n");
    for (i = 0; i < COUNT; i++)
    {
        str1[i] = getchar();
        if (str1[i] == '\n')
            break;
    }
    printf("请输入一个长度不超过20的字符串(用gets()实现):\n");
    gets(str2);
    printf("请输入一个长度不超过20的字符串(用带\"%%s\"scanf()实现):\n");
    scanf("%s", str3);
    printf("\n输出结果:\n用putchar()实现:");
    for (j = 0; j < i; j++)
        putchar("%c", str1[j]);
    printf("\n用带puts()实现:");
    if (strlen(str2) < 22)
        puts(str2);
    printf("用带\"%%s\"printf()实现:");
    printf("%s", str3);
    return 0;
}

img

  • 写回答

2条回答 默认 最新

  • fuill 2021-11-30 23:22
    关注

    putchar后面不用写"%c",直接写char的变量名str1[j]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月9日
  • 已采纳回答 12月1日
  • 创建了问题 11月30日

悬赏问题

  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。
  • ¥20 在easyX库下编写C语言扑克游戏跑的快,能实现简单的人机对战
  • ¥15 svpwm波形异常求解答
  • ¥15 STM32——硬件IIC从机通信代码实现
  • ¥15 关于GRSL投稿的疑问
  • ¥15 微生物组数据分析--微生物代谢物
  • ¥30 求一跃动小子保卫主公Java算法实现
  • ¥15 地图软件开发技术答疑(api, 地点获取,外观样式)