发布网友 发布时间:2022-02-28 09:56
共6个回答
懂视网 时间:2022-02-28 14:17
热心网友 时间:2022-02-28 11:25
scanf("%c",&ans)没有问题,scanf("%*c%c",&ans)不存在这种写法,
热心网友 时间:2022-02-28 12:43
*号用在%和格式符之间,称为:输入赋值抑制符。即,有这个*号存在时,需要输入数据,但输入的数据不会赋给任何变量追问你这里指的数据可以是字符吗,请说详细一下scanf("%c",&ans)输入和scanf("%*c%c",&ans)输入的区别,我刚开始写scanf("%c",&ans)输入时不执行此语句,换成了scanf("%*c%c",&ans)输入就没问题了
热心网友 时间:2022-02-28 16:09
你的ans变量是char类型的吗?追问是呀追答利用scanf读取字符型变量时,%c是不会忽略空白字符的,所以如果要读入一个字符,一种方法是利用getchar(),一种是在前边加一个%*c处理掉读进来的空白字符,另一种方法是在%c前边一个空格。编译系统不同,这三种方法的某一种或两种可能不能用,但getchar()目前是可以通用的。
如果你声明char ans1,ans2;
scanf("%c %c",&ans1,&ans2);
printf("%c %c",ans1,ans2);
你会发现ans1的值是空的(0),而ans2的值才是你输入的第一个字符
热心网友 时间:2022-02-28 18:17
不知道。。。。。。