printf和gets函数的实用技巧(c语言中gets函数怎么用)

printf和gets函数的实用技巧(c语言中gets函数怎么用)

Printf函数输出的格式与方法:

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是需要遇到’’才会输出的,因此通过字符串数组遍历赋值时,最后不要忘记加’’

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论