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

求解,为什么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 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂