C/C++中辨识scanf()与gets()、printf()与puts();且引申出的缓冲区问题

今天是22/1/25,寒假返乡后约莫已过俩周,放假前踌躇满志但直到今天夜里购置的书本才完全到达,以后的约30天中,我一定尽力做到每天学习五小时以上,合理的记单词及阅读《c与指针》,《c++primer plus》,后续也会根据自己的学习体会来编写博客,仅供自我督促,同时与诸君共勉,欢迎勘误,不尽感激。

由于我的学校本科阶段对c/c++要求较低,导致我连着考试等等几乎只会使用scanf()及printf()来进行输入输出,对gets/puts不求甚解,csdn上已有太多此番解析,合理借鉴,结合我心中迷惑写下本文。

    char List[10];
	scanf("%s",List);
	printf("The scanf()=%s\n",List);
	gets(List);
	printf("The gets()=%s",List);

 

由本例可以清楚的看出,scanf()中格式字符为%s时,其无法接受空格与回车,将直接终止scanf()从标准输入中获取字符串,紧接着后续的 空格to空格meet空格you都传给了gets()

在这里我们着重讨论一下缓冲区,这是我在初学阶段并不

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值