用scanf输入字符型数据时,输入的格式要注意什么

2022-04-20 社会 111阅读

对于scanf函数,大家是既爱又恨。

爱的是,有了它,程序就可以接收不同的输入,对输入进行处理而得到不同的输出结果。恨的是,输入的规则比较多,经常会出现输入后得不到想要的输入效果。

对于字符型数据的输入,输入格式要注意以下几点:

 

  1. 格式字符串中一般不要有其他的非格式字符,如

    scanf("Pleaseinputachar:\t%c\n",&ch);// 双引号内的"Please.......",以及\t、\n等都不要出现scanf("%c",&ch);  // 只包含格式字符就好了

  2. 输入多个字符时直接连续用%c,不需要加入分隔符,同样输入也是连续输入且不能使用任何其他字符(如空格,回车等)来分隔。空格、制表以及回车都将被视作有效的字符输入。

    scanf("%c%c%c",&ch,&ch2,&ch3);  // 只包含格式字符就好了

  3. 当字符和其他数值类数据混合输入时,字符要放在前面,数值放在后面输入。这样可以保证开始已经有效的输入了字符,而后面的数值也可以正确的输入

  4. 但如果一定要字符在数值之后输入,就需要要求输入者严格按照指定的个时输入数据了。稍有不慎,就不能得到正确的输入。

  5. 如需要输入一个整数i和一个字符ch。scanf("%d%c",&i,&ch); 要求在整数后面不能有任何分隔,如回车,要立即跟随要输入的字符。如果不小心输入了回车,则回车符将被输入到字符变量ch中。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com