//// ——————————————————————scanf的语法并举例说明
//// scanf是C语言中的一个标准输入函数,用于获取用户输入的数据,并赋值给变量。
////——————基本语法:
////scanf(format, variables);
////其中,format是格式控制字符串,用于指定输入数据的格式,variables是变量名,用于存储输入的数据。
////规则:
////1. scanf函数通过格式控制字符串来确定要读取的数据类型和数量,并根据格式控制字符串中的格式符进行匹配。
////2. 格式控制字符串中可以包含空格、制表符(\t)和换行符,用于忽略输入数据中的空白字符。
////3. 可以使用多个格式控制符来读取多个数据,各个格式控制符之间可以用空格、制表符和换行符(回车键)分隔。
////4. 当格式控制字符串中的格式符与输入的数据不匹配时,scanf函数会将匹配失败的数据留在输入缓冲区中,下一次读取时会再次尝试读取。
////5. 格式控制符中的 % 后面可以加上数字,表示最大字段宽度,即读取的字符数不会超过该数字。
////6. 在读取字符数组或字符串时,需要注意数组长度或字符串长度要足够大,以容纳输入的数据。
//// 可以使用 % ns来指定最大字段宽度,其中n为数组或字符串长度。
////7. 遇到空格、制表符或换行符时,scanf函数会将输入的数据视为结束。
////8. 在读取字符数组或字符串时,可以使用 % [^\n]来指定读取到换行符之前的所有字符。
////9. 换行符指的是:回车键用scanf要考虑越界,输入是否标准,而且还要注意一些字符不能读入,比如空格,/n,
//// 如果之后还有用到输入缓冲区的内容,可以用getchar等函数清理缓冲区
////例如,以下代码示例读取一个整数和一个浮点数:
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
// int n;
// float i;
// printf("Enter an integer: ");//integer整数
// scanf("%d", &n);
// printf("Enter a floating point number: ");//floating point number浮点数
// scanf("%f", &i);
// printf("You entered: %d and %.0f\n", n, i);//%.2f:保留两位小数(自带四舍五入)//%.0f也可以使用,399.98——>400
// return 0;
//}
////运行程序后,会提示用户逐个输入整数和浮点数,然后将输入的值打印出来。
//// 在输入时,需要注意输入的数据类型要与格式控制字符串中的格式符匹配,否则可能发生错误。
////换行符(回车键)
//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//void main()
//{
// char str[40];
// printf("lnput a string:");
// scanf("%[^\n]", str);
// puts(str);
//}//输入字符串,会在敲回车时停止打印
//////当使用scanf("%c", &ch);来读取一个字符时,%c会读取第一个字符,并将其赋值给变量ch。%c会按照下列规则工作:
////1. %c会跳过任何空白字符(如空格、制表符、换行符等)。
////2. %c会读取输入中的下一个字符,并将其赋值给变量。
////3. %c不会自动在输入后面加入空字符'\0'。
////4. %c会将换行符('\n')当做普通字符读取,而不会自动跳过。
//#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
// char ch;
// printf("请输入一个字符:");
// scanf("%c", &ch);
// printf("您输入的字符是:%c\n", ch);
// return 0;
//}//只打印输入的第一个字符
////制表符
////制表符\t表示8个空格符是不准确的,实际上制表符的作用是使光标定位到一个新的位置,
////新位置之前的输出占用的列数为8的倍数,即将光标移动至最接近8倍的地方,使之后的输出从光标处开始进行。
////1、当\t之前的字符所占输出列数在0~7时,将光标定位至第9列。
////2、当\t之前的字符所占输出列数在8~15时,将光标定位至第17列
//#include<stdio.h>
//void main() {
// printf("123456781234567812345678\n"); //line1
// printf("\ta\n"); //line2
// printf("1234\ta\n"); //line3
// printf("1234567\ta\n"); //line4
// printf("12345678\ta\n"); //line5
// printf("1234567812345\ta\n"); //line6
// printf("123456781234567\ta\n"); //line7
// printf("1234567812345678\ta\n"); //line8
//}
////结果为:(a与1对齐)
////123456781234567812345678
//// a
////1234 a
////1234567 a
////12345678 a
////1234567812345 a
////123456781234567 a
////1234567812345678 a
标签:字符,读取,33,scanf,C语言,初学,printf,格式,输入 From: https://blog.51cto.com/KKhahaha/8903925