Printf函数输出的格式与方法:
想要一起学习交流,或者系统学习c++的可以加553014383,邀请码:悟空,裙内有众多资源及解答老师。
1、输出数字的时候存在宽度和精度,那对于数字而言,输出数字有如下几种情况:
int a=456;
printf("$%d$",a);
此时输出$456$
printf("$%5d$",a);
此时输出整型变量的宽度为5,比变量a的宽度大,此时输出是$[][]456$,[]表示的是空格,为了清楚地看到空格,用[]代替空格。当输出宽度比变量宽度要大时,输出自动右对齐。
Printf("$%2d$",a);
此时输出为$456$,当宽度比变量a的宽度小的时候,正常输出整型变量。
以下的语句加入精度的概念。
printf("$%5.5d$",a);
此时的输出为$00456$,对于整数而言,加入精度的概念就是在数字右边补0,使数字自身位数加上0的位数等于精度。
printf("$%4.5d$",a);
此时的输出为$00456$,此时输出的结果与上一条语句相同,对于整型数字,当精度大于宽度时以精度优先。
2、如何将输出的右对齐和左对齐
在%后加入-,这样输出就从右对齐变成左对齐。由于默认输出是右对齐,所以在%后面加入+是没有作用的。如果在%后加入+,加好会在输出中显示。
3、输出字符串的效果,宽度和精度同样也适用于字符串。
gets()函数的用法:
由于scanf函数遇到空格后就停止输入了,如果我们需要输入一句话的话,那么我们就要尝试其他的函数例如gets()函数。
1、原型函数为char *gets(char*buffer),返回一个指向char的指针,返回的指针与传递给他的指针是同一个指针。
例子:
char name[20];
gets(name);
printf(“%s”,name);
此时在控制界面中输入hello world,输出将会是hello world。
上例同时也可以写成:
char name[20];
char *ptr;
ptr=gets(name);
printf(“%s”,name);
printf(“%s”,ptr);
此时两句话输出的都是hello world,从而证明ptr的指针就是赋给gets函数的指针。但是gets()函数有一个缺点,当输入的字符串的长度大于申请的空间时,会造成空间越界,此时在函数执行结束释放空间时会报错。
因此,我们引出fgets()函数,这个函数是gets()函数的文件读写版本,它的原型函数为
char *fgets(char *buffer, int n ,FILE *stream)
第一个参数可以是变量的地址,第二个为读取字符的最大个数,第三个是需要读取的文件。当我们要从键盘进行读写时,我们可以将标准输入流的指针赋给第三个参数,实现使用fgets()从键盘进行读写。
puts()函数:
例子:
char name[20];
char *ptr;
ptr=gets(name);
puts(name);
puts(“%s”,ptr);
put是需要遇到’’才会输出的,因此通过字符串数组遍历赋值时,最后不要忘记加’’
网友评论