c - 如何使scanf不忽略C中的空格和\ n
问题描述
所以,我目前正在课堂上学习 C 代码,我们得到了一份停止者编码器的作业。我设法做到了,但是我现在遇到了一个问题,即他们希望它承认其中的空格和新行。我已经在网上查了一下,看到了很多选项,但有几个问题:
1)我必须使用 scanf 所以不要给第二个选项
2)我正在使用常规字符而不是字符串,因为在本课程中他们还没有教过它,所以不要提供使用 char[] 或字符串或 char* 因为我不应该使用它们。提前致谢。
解决方案
您可以使用 一次读取一个字符scanf
,并且不会忽略空格:
#include <stdio.h>
int main(int argc, char *argv[]) {
printf("Will print all characters typed, use ctrl-D to quit\n");
char c;
while (scanf("%c", &c) != EOF) {
printf("%c", c);
}
}
推荐阅读
- angular - 如何使用 Angular Material 更改输入自动完成的背景颜色?
- angular - Msal登录弹窗的定位
- javascript - 使用带有 HREF 滚动或修改按钮链接的按钮的解决方案
- flutter - 如何使用 ThemeData backgroundColor 获取 Colors.blue[100]?
- php - Symfony 4迁移实体表单验证使用validation.yaml
- ansible - 使用 Ansible 时格式化字符串事实列表
- angular - GraphQL 角度阿波罗客户端。从缓存中读取抛出错误,但对服务器的相同查询工作正常
- mysql - MySQL COUNT(Value) 在某些日期之间返回错误的计数值
- javascript - JSON parse/stringfy 添加额外数据
- c# - c# Nunit 获取所有忽略的测试计数和名称