- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
cin和scanf在使用时的注意事项
(注:本文中的源代码没有包含头文件,实验时请自己编辑。)
请边看边操作,这样才能真正明白其中的窍门:
一,scanf():
常用的有
(1)scanf(%s,a);//a为字符串的指针;
例:
int main(){
char a[20];
scanf(%s,a);
printf(%s,a);// 输出字符串a中的字符
return 0;
}
注意: 1,这种获得字符串的方法前面可以有回车符 \n ,注意哦!你可以试一下。输入时在前面猛打回车,然后再输入一组字符,这样输出的还是你输出的字符。如下图:
2试完了回车,重新运行一下,然后你在前面加n个空格,然后再输入一个连续的字符,看看会出现什么?你会发现他把前面的空格全忽略了。如果你想要,当然也可以,或者用正则表达式,或者用gets(); 比如: gets(a); 这样,你输入的空格也能记录下来了。如下图:
3,再试一下 输入一个连续长度的字符后加一个空格再输入:比如输入一个人的名字的时候“Bill Gates”你会发现输出只有Bill ,而Gates见鬼去了。所以名字的输入和上面一样,最好用gets(); 函数。如下图:
这请弄明白了再往下看。谢谢合作!
(2)scanf(%c,a);//注意取地址符;
例:
int main(){
char a;
scanf(%c,a);
printf(%c,a);// 输出字符a中的字符
return 0;
}
注意:在获得字符时如果有回车,吸收之。你可以这样试一下,运行上面的程序,回车一次,仔细观察他空了几行。(第一行是你敲的,第二行是printf输出的a的值),明白其中的奥妙了么?
(3)scanf(%d,a);
例
int main(){
int a;
scanf(%d,a);
printf(%d,a);// 输出整形a中的值;
return 0;
}
注意:这个输入和(1)一样,会自动忽略前面的回车\n(其实就是个ascII码) 。
弄明白了以上三个使用方法,看看下面这个程序的输出结果是什么?
例1
输入如下:
输出:
明白了?没明白再看看前面的然后再往下看;
例2,
源程序:
输入:
输出:
看到了么?输入80回车后直接跳过对b的输入跳到printf(“%d\n”,a);去了,输出a后再输出b,现在的b就是一个回车’\n’ 还记得么? 这样,后面跟着两个回车 ,然后输出了“Press any key to continue”
你会发现 %s 和 %d 是以’\n’当做输入的结束,而不吸收’\n’,所以当给b赋值时由于上次输入留下的’\n’没有被吸收,%c就要上它了。导致你没有输入b的值就直接出结果了。
你可以把上面的首先给int赋初值改成给一个字符串赋初值,后面跟一个给char型字符覆初值。你会发现同样的问题。%c真是来者不拒,呵呵。
这儿非常重要,一定要搞明白了再继续往下看。
二, cin
它用起来要比scanf简单多了。
int main(){
char i;
char b[20];
int c;
cini; //给字符赋值
cinb; //给字符串赋值
cinc; //给整形赋值
}
注意:cin和scanf在使用时要特别注意!
请跟我走;
例1
输入
输出:
这一点和scanf是一样地;
例2
还是上面那个程序,输入
输出
这一点和scanf也一样
例3
还是上面的那个程序,输入
输出:
跟scanf一样…………那到底哪不一样呢…………
接着往下看;
源程序:
输入:
你先猜猜结果是啥?如果是scanf,那肯定是输入完abcdef后回车,就输出结果了。
输出结果:
失望了吧,它在等你输入b的值那!
当随便输入一个后,结果如下:
怎样?看出点猫腻了吧?cin和scanf就差这了。把上面程序换成一个int型和一个char型,先给int赋值,再给char赋值,也会出现相同的情况,不会像scanf直接跳过去,即使你狂按回车,他照样依然不动声色。
看完了上面这些,再来看一个实例吧。
(这是咱们网赛时第二题)
TimeLimit : 1 Second Memorylimit : 32 Megabyte
Totalsubmit : 129 Accepted : 31
xiaoA is a be
您可能关注的文档
最近下载
- DL_T 267-2023 油浸式全密封卷铁心配电变压器使用技术条件.pdf VIP
- 一种新型的化纤打包机.pdf VIP
- 山东黄金集团招聘考试题库.pdf
- 贵州省黔西南州2024-2025学年七年级下学期期末语文试题(含答案).pdf VIP
- 环形混凝土电杆标准.pdf VIP
- 专项施工方案.docx VIP
- NB∕T 47018.4-2022 承压设备用焊接材料订货技术条件 第4部分:埋弧焊钢焊丝和焊剂.pdf
- 山西博大集团寿阳京鲁煤业有限责任公司兼并重组整合矿井地质报告.doc
- 贵州省黔西南州2024-2025学年七年级下学期期末考试语文试题(含答案).docx VIP
- 烟气脱硫废水处理系统培训课件.pptx VIP
文档评论(0)