发布网友 发布时间:2022-04-23 17:08
共3个回答
热心网友 时间:2023-09-11 04:06
对于scanf函数,程序就可以接收不同的输入,对输入进行处理而得到不同的输出结果。
对于字符型数据的输入,输入格式要注意以下几点:
格式字符串中一般不要有其他的非格式字符,如,
scanf("Please input a char :\t%c\n", &ch); // 双引号内的"Please.......",以及\t、\n等都不要出现scanf("%c", &ch); // 只包含格式字符就好了。
输入多个字符时直接连续用%c,不需要加入分隔符,同样输入也是连续输入且不能使用任何其他字符(如空格,回车等)来分隔。空格、制表以及回车都将被视作有效的字符输入。
scanf("%c%c%c", &ch, &ch2, &ch3); // 只包含格式字符就好了。
当字符和其他数值类数据混合输入时,字符要放在前面,数值放在后面输入。这样可以保证开始已经有效的输入了字符,而后面的数值也可以正确的输入。
但如果一定要字符在数值之后输入,就需要要求输入者严格按照指定的个时输入数据了。稍有不慎,就不能得到正确的输入。
如需要输入一个整数i和一个字符ch。scanf("%d%c",&i,&ch); 要求在整数后面不能有任何分隔,如回车,要立即跟随要输入的字符。如果不小心输入了回车,则回车符将被输入到字符变量ch中。
热心网友 时间:2023-09-11 04:06
对于scanf函数,大家是既爱又恨。
爱的是,有了它,程序就可以接收不同的输入,对输入进行处理而得到不同的输出结果。恨的是,输入的规则比较多,经常会出现输入后得不到想要的输入效果。
对于字符型数据的输入,输入格式要注意以下几点:
格式字符串中一般不要有其他的非格式字符,如
scanf("Please input a char :\t%c\n", &ch); // 双引号内的"Please.......",以及\t、\n等都不要出现scanf("%c", &ch); // 只包含格式字符就好了
输入多个字符时直接连续用%c,不需要加入分隔符,同样输入也是连续输入且不能使用任何其他字符(如空格,回车等)来分隔。空格、制表以及回车都将被视作有效的字符输入。
scanf("%c%c%c", &ch, &ch2, &ch3); // 只包含格式字符就好了
当字符和其他数值类数据混合输入时,字符要放在前面,数值放在后面输入。这样可以保证开始已经有效的输入了字符,而后面的数值也可以正确的输入
但如果一定要字符在数值之后输入,就需要要求输入者严格按照指定的个时输入数据了。稍有不慎,就不能得到正确的输入。
如需要输入一个整数i和一个字符ch。scanf("%d%c",&i,&ch); 要求在整数后面不能有任何分隔,如回车,要立即跟随要输入的字符。如果不小心输入了回车,则回车符将被输入到字符变量ch中。
热心网友 时间:2023-09-11 04:07
格式字符串中一般不要有其他的非格式字符,如
scanf("Please input a char :\t%c\n", &ch); //双引号内的"Please.......",以及\t、\n等都不要出现scanf("%c", &ch); //只包含格式字符就好了
输入多个字符时直接连续用%c,不需要加入分隔符,同样输入也是连续输入且不能使用任何其他字符(如空格,回车等)来分隔。空格、制表以及回车都将被视作有效的字符输入。
scanf("%c%c%c", &ch1, &ch2, &ch3); //只包含格式字符就好了
当字符和其他数值类数据混合输入时,字符要放在前面,数值放在后面输入。这样可以保证开始已经有效的输入了字符,而后面的数值也可以正确的输入
但如果一定要字符在数值之后输入,就需要要求输入者严格按照指定的个时输入数据了。稍有不慎,就不能得到正确的输入。
如需要输入一个整数i和一个字符ch。scanf("%d%c",&i,&ch);要求在整数后面不能有任何分隔符,如回车,要立即跟随要输入的字符。如果不小心输入了回车,则回车符将被输入到字符变量ch中。