clang io format

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
2
3
4
5
6
7
8

printf("输出1");

//sleep() 是 Linux 和 Mac OS 下特有的函数,Sleep()是Windows函数
sleep(2); // 延迟2s

printf("输出2");

本质上printf() 执行结束以后数据并没有直接输出到显示器上,而是放入了缓冲区,输出缓冲区直到遇见换行符\n才将缓冲区中的数据输出到显示器上(Linux 或者 Mac OS 下运行)
对缓存的理解,是处理C语言各种疑难问题的重要思路和方向。

Author

Jack Liu

Posted on

2022-05-05

Updated on

2024-02-17

Licensed under