首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言-scanf以及printf应该注意的地方

scanf();

在要用scanf连续赋值的地方,要注意其会有多一个回车符’\n’输入到内容中。如果缓冲区还有数据,scanf()则不会阻塞等待用户的输入。

当程序代码,输入一个字母时,会出现如下情况:

#include 

int main()

{

int a;

while(1)

{

printf("输入一个数\n");

scanf("%d",&a);

/*

while(1)

{

if(getchar() == '\n')break;

}

*/

switch(a)

{

case 1 : printf("这是一个1\n");break;

case 2 :printf("这是一个2\n");break;

case 3 : printf("这是一个3\n");break;

default : printf("其他情况\n");break;

}

}

return 0;

}

因此,要添加

这一串代码来清除缓冲区;

Printf():

在需要连续打印的地方,要注意添加‘\n’换行符。如果没有添加换行符,则缓冲区需要数据充满,才会一次性打印出来;

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210312A0DU1U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券