关于为什么%c可以用来存储字符串的问题

关于为什么%c可以用来存储字符串的问题

问题描述:老师char定义了一个ch用来存储字符,输入的明明是字符串,但是为什么不会报错呢

相关截图:

https://img1.sycdn.imooc.com//climg/62ef5fb4094e554f28801800.jpg

相关代码:

scanf("%c",&ch);
printf("%c",ch);


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

当程序跑起来后就会在函数scanf()处卡住,用户输入字符串“abcd\n"共计5个字符时,while循环会跑5轮,字符变量ch只是被依次赋值a  b   c  d  \n 而已,最后printf遇到了\n就进行了打印(这个目前还没有学,以后就知道了)。

  • 老师,scanf是当输入abcd按下回车键,缓冲区的数据会被发送给程序并且进行赋值操作,这个时候会循环五次,循环一次printf会依次进行打印abcd,而不是遇到\n才打印吧,我的理解不知道对不对
    2022-08-07 23:37:56
  • 可以这么理解

    2022-08-08 09:32:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师