今天记录一下scanf的用法,这个也比较简单,容易忘记的点是在打印字符串是,用%s是需注意%s是以空格结尾,如在输入abc def时,由于中间有空格,所以只有abc。在打印时可用%【m】s,m为字符串的最大长度,防止越界。
%c不会忽略空白字符,若想强制跳过字符前的空格,可在%c前加空格
%【】可以指定一组字符,如果不在这个集合内,则不会读取。
我们在输入时如果想输入2023-11-24这种形式(-,是一种字符,所以用%c输入),可写成scanf("%d-%d-%d",&y,&m,&d);这种形式。
如果想输入其他字符并且不返回,可使用赋值忽略符,即在任何占位符%后面加*即可;
printf的使用
printf是从右到左进行计算的;
占位符列举:
%a :⼗六进制浮点数,字⺟输出为⼩写。
• %A :⼗六进制浮点数,字⺟输出为⼤写。
• %c :字符。 • %d :⼗进制整数。
• %e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写
• %E :使⽤科学计数法的浮点数,指数部分的 E 为⼤写。
• %i :整数,基本等同于 %d 。
• %f :⼩数(包含 float 类型和 double 类型)。
• %g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e 为⼩写。
• %G :等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写。
• %hd :⼗进制 short int 类型
• %ho :⼋进制 short int 类型。
• %hx :⼗六进制 short int 类型。
• %hu :unsigned short int 类型。
• %ld :⼗进制 long int 类型。
• %lo :⼋进制 long int 类型
。 • %lx :⼗六进制 long int 类型。
• %lu :unsigned long int 类型。
• %lld :⼗进制 long long int 类型
。 • %llo :⼋进制 long long int 类型
。 • %llx :⼗六进制 long long int 类型。
• %llu :unsigned long long int 类型。
• %Le :科学计数法表⽰的 long double 类型浮点数
• %Lf :long double 类型浮点数。
1 .如若想要对齐数字,可在%后加上数字,若多出则自动用空格填补。输出的值默认是右对⻬,即输出内容前⾯会有空格;如果希望改成左对⻬,在输出内容后⾯添加空 格,可以在占位符的 % 的后⾯插⼊⼀个 - 号
若在前在加0,如图,自动用0填补空缺。
2.如果输入的是浮点数,想保留小数点后几位,则在%后加上 .m(m为想保留的小数位)
今天的记录就到这咯。