首页 > 其他 > 详细

printf与scanf简单使用

时间:2020-07-01 22:40:46      阅读:61      评论:0      收藏:0      [点我收藏+]

写代码,怎么可能少了输入输出,下面来说说printf和scanf的简单使用

#include<stdio.h>

int main()
{
    printf(格式字符串,待打印项1,待打印项2);   //printf基本格式
    return 0;

}

 

下面我们来看一个例子,很简单就是打印一个整形变量

#include<stdio.h>

int main()
{
    int i = 0;
    printf("%d", i);
    return 0;

}

一般我们需要设置最小宽度和对齐方式,这个经常忘记怎么使用,所以记录一下

#include<stdio.h>

int main()
{
    int i = 0;
    printf("%-3d", i);  //‘-‘表示左对齐,没有的话默认右对齐,3表示最小的宽度是占3个位
    return 0;

}

 

其实,最想说的还是scanf,因为经常使用%c的时候,读不到输入的字符,比如下面这样

#include<stdio.h>

int main() 
{
    int i;
    char ch;
    scnaf("%d", &i);
    scanf("%c", &ch);  //这个我们就会读到一个空白字符,而不是输入的字符
    return 0;

}

这是什么原因呢,其实是scanf函数每次读取一个字符,跳过所有的空白字符,直到遇到非空白字符才读取,同时scanf也是通过空白字符来分段的,用上面的程序来说,这个程序先读取一个整数,当读到空白字符的时候,就停止了,然后将那个空白字符返回,所以下一个读取从这个空白字符开始读的,而%c就很巧了,刚好读需要读一个字符,所以%c就把那个空白字符读取存到ch中了,所以你输入的字符就没有读到ch中

那么如何解决呢,下面是解决方法

#include<stdio.h>

int main()
{
    int i;
    char ch;
    scnaf("%d", &i);
    scanf(" %c", &ch);  //可以在%c前面加一个空格,格式字符串中的空格意味这跳过下一项前面的所以空白字符(当然也包括没有空格的特殊情况)
    return 0;

}

当然也可在前面在加一个scanf来读空格,或者getchar()来处理也是可以的

好了,我们下回见,peace

 

printf与scanf简单使用

原文:https://www.cnblogs.com/gitpy123/p/13221908.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!