bjlggclxwhg 发表于 2020-2-13 00:21:03

C语言! 动态定义字符串数组的一个问题qwq,求助!

本帖最后由 bjlggclxwhg 于 2020-2-13 00:27 编辑

代码是小甲鱼老师上课讲的...但是我发现了一个问题!!!!!!!!!!
就是,这个代码会把 最后一个字符给吞掉 我不懂为什么...
代码如下:
#include <stdio.h>

int main()
{
    int n,i;

    printf("请输入字符的个数:");
    scanf("%d",&n);

    char a;

    printf("请开始输入字符:");
    for(i=0;i<n;i++)
    {
      scanf("%c",&a);
    }
    a = '\0';
    printf("%s",a);
    return 0;
}
运行结果见附件

bjlggclxwhg 发表于 2020-2-13 00:26:43

啊。。。。。。小甲鱼后面讲了,用一个getchar 将输入字符个数时敲击的回车过滤掉即可!!!!!!
分享给大家qwq

bjlggclxwhg 发表于 2020-2-13 00:27:21

更正后的代码:

#include <stdio.h>

int main()
{
    int n,i;

    printf("请输入字符的个数:");
    scanf("%d",&n);

    char a;

    printf("请开始输入字符:");
    getchar();
    for(i=0;i<n;i++)
    {
      scanf("%c",&a);
    }
    a = '\0';
    printf("%s",a);
    return 0;
}
页: [1]
查看完整版本: C语言! 动态定义字符串数组的一个问题qwq,求助!