clang io format
输入输出格式化
终端输入 input
键盘获取输入(三个函数):
- scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。
- getchar()、getche()、getch():这三个函数都用于输入单个字符。
- gets():获取一行数据,并作为字符串处理。 scanf()默认以空格分割:
- scanf() 在读取数据时需要的是数据的地址,字符串名字或者数组名字在使用的过程中自动会转换为内存地址,所以无需加&
- int、char、float 等类型的变量用于 scanf() 时都要在前面添加&,而数组或者字符串用于 scanf() 时不用添加&,它们本身就会转换为地址。
- scanf() 可以读取带空格的字符串,字符的数目,指定的字符,不读取某些字符,丢弃字符。
终端输出 output
三个函数可以用来在显示器终端输出数据:
puts()
:仅输出字符串,并且输出结束后会自动换行putchar()
:仅输出单个字符printf()
:可以输出各种类型的数据
printf()缓存机制
printf() 输出延迟问题:
1 |
|
本质上printf() 执行结束以后数据并没有直接输出到显示器上,而是放入了缓冲区,输出缓冲区直到遇见换行符\n才将缓冲区中的数据输出到显示器上(Linux 或者 Mac OS 下运行)
对缓存的理解,是处理C语言各种疑难问题的重要思路和方向。
clang io format