首页 > 解决方案 > 输出是我的 C 代码中正常输入的“空白”空间

问题描述

#include <stdio.h>

int main(void) {
  char str[100];
  scanf("%s", str[0]);
  printf("%c", str[1]);

  return 0;
}

我正在运行这段代码。我已输入“Jagrit”作为输入。我希望上述程序的输出是'j'。但相反,我没有得到任何输出,只是一个空格。谁能告诉我为什么会这样以及代码中的错误是什么?

标签: c

解决方案


如果您只想将输入作为字符串,可以使用 fgets() 并仅使用 str[0] 打印字符串的第一个字符,请注意 printf() 仅用于打印值;这是代码的简单版本:

#include <stdio.h>
# include<stdlib.h>

int main() {
    char str[100];
    fgets(str,100,stdin);
    printf("%c",str[0]);

    return 0;
}

推荐阅读