c - 输出是我的 C 代码中正常输入的“空白”空间
问题描述
#include <stdio.h>
int main(void) {
char str[100];
scanf("%s", str[0]);
printf("%c", str[1]);
return 0;
}
我正在运行这段代码。我已输入“Jagrit”作为输入。我希望上述程序的输出是'j'。但相反,我没有得到任何输出,只是一个空格。谁能告诉我为什么会这样以及代码中的错误是什么?
解决方案
如果您只想将输入作为字符串,可以使用 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;
}
推荐阅读
- php - Symfony 3.4 - Doctrine ManyToMany 关联错误
- r - 使用非默认轴位置时如何增加轴标题与绘图的距离?
- c++ - 当我输入一个字符时,getch 返回 2 个字符
- python - 为 Matplotlib 2D 图组织 3 维数据
- javascript - 我应该如何使滚动条与内容重叠,并且内容必须在其下可见
- jenkins - Jenkins Docker Pipeline Plugin - 在 withDockerRegistry 中支持 --email 选项
- php - “DateTime::__construct(): 无法解析时间字符串 (@)” 函数中的致命错误
- batch-file - 将一行修剪为字符串批处理文件
- web-services - Jax-ws 与 Spring-ws 客户端
- python - 在 PYTHONPATH 中同时包含一个包及其子包会破坏什么?