https://www.runoob.com/cprogramming/c-input-output.html
1、C
1.1 输入与输出
c标准输入输出
| 文件指针 | 标准指针 | 设备 |
|---|---|---|
| stdin | 标准输入 | 键盘 |
| stdout | 标准输出 | 屏幕 |
| stderr | 标准错误 | 屏幕 |
scanf()
prinf()
getchar()
putchar()
gets()
puts()
scanf 读取机制:从键盘输入完的数据,回车告知程序从键盘缓冲区读取数据。每次匹配数据,一般都会跳过开头部分的(空格 回车 制表)空白字符(读入的是字符格式时,会成功匹配空白字符)。最终的回车符也是缓冲区内容的一部分,匹配的时候要需要考虑被匹配的情况。
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a;
char ch;
while(1) {
scanf("%d,%c",&a,&ch);
printf("%d,%d\n",a,ch);
}
}
ASCII 10表示换行符, 32表示空格
最后一次输入

上述程序一旦读取错误(读取a时,缓冲区不是数字字符(非空白字符)),无尽循环…
比如输入‘8a’
void main()
{
int a;
scanf("%d\n",&a);
printf("%d\n",a);
}
上述程序,当输入4时,回车,没有打印?
匹配时跳过开头部分的(空格 回车 制表)空白字符,匹配‘\n’但是会跳过‘\n’等空白字符;之后再随便输入个字符,回车结束即可
void main()
{
int a;
scanf("%da\n%d",&a, &a);
printf("%d\n",a);
}

感觉针对\n的匹配结果做特殊处理…缓冲区必须存在非空白字符进行匹配,匹配结果错误但忽略…
getchar() 和 putchar()
char c;
while((c=getchar())!=EOF) {
printf("结果=%d\n",c);
}
printf("结束\n");

键盘回车,getchar的是换行符; 只后再考虑文本的情况…
清除缓存区
int a;
scanf("%d"

本文详细介绍了C/C++/Python的输入输出方式,包括C语言中的scanf、printf、文件读写,C++的iostream,系统调用的读写操作,以及Python的stdio和文件处理。特别提到了不同语言中对换行符的处理,以及如何进行文本和二进制文件的读写操作。
最低0.47元/天 解锁文章
865

被折叠的 条评论
为什么被折叠?



