c语⾔char⽤scanf,[求助]使⽤scanf时,char型的正确输⼊⽅法
应该是如何?
[求助]使⽤scanf时,char型的正确输⼊⽅法应该是如何?
⾸先是第⼀段代码
#include
#include
main()
{
char c1,c2;
scanf("%c,%c",&c1,&c2);
printf("c1='%c',c2='%c'\n",c1,c2);
system("pause");
}
建⽴c1,c2为字符型变量,输⼊c1,c2的值后输出c1,c2。
输⼊:
a,b
输出:
c1='a',c2='b'
以上没有问题。
然后我修改了⼀下代码
#include
#include
main()
{
int a,b;
char c1,c2;
scanf("%d,%d",&a,&b);
scanf("%c,%c",&c1,&c2);
printf("c1='%c',c2='%c'\n",c1,c2);
system("pause");
}建⽴了两个整型变量 a,b。并先⽤scanf输⼊a,b的值。然后再输⼊c1,c2的值。
输⼊:
12,34
a,b
c语言char的用法
输出:
c1='
',c2='f'
出问题了……这应该是程序把换⾏符\n当成了c1的值。我刚开始以为这⾥应该断开⼀下,于是⼜改了下代码。#include
#include
main()
{
int a,b;
char c1,c2;
scanf("%d,%d",&a,&b);
printf("1\n");
scanf("%c,%c",&c1,&c2);
printf("c1='%c',c2='%c'\n",c1,c2);
system("pause");
}在输⼊a,b的值后,让它先输出个1,然后再输⼊c1,c2。
输⼊:
12,34
(输出1)
a,b
输出:
c1='
',c2='f'
依然如旧……
于是我⽤了第⼆个程序,不过改变了⼀下输⼊⽅法。
输⼊:
12,34a,b
输出:
c1='a',c2='b'
以上。
我的问题是,要如何写代码才能保证在不出错的情况下将a,b的值和c1,c2的值分为两⾏输⼊?
编辑器是dev c++
[此贴⼦已经被作者于2007-9-19 10:52:14编辑过]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。