美文网首页编程学习
C语言中printf和gets函数的实用技巧

C语言中printf和gets函数的实用技巧

作者: 悟空学编程 | 来源:发表于2018-01-25 15:31 被阅读7次

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

    相关文章

      网友评论

        本文标题:C语言中printf和gets函数的实用技巧

        本文链接:https://www.haomeiwen.com/subject/rnmvaxtx.html