scanf("%c",&ch)什么意思

如题所述

1、%c是字符型
2、%ch则是输入一个字符后,必须加上一个h
比如:
scanf("%*[^\n]");
里面的[^\n]表示:除了'\n'以外的,[^a]就是除了'a'里面的*表示:通配符,所有字符.
然后合起来就是取出所有除了\n之外的字符scanf("%*c");
就是取出一个字符,一般取出就是刚刚上面那句没有取出的'\n'
为什么这么做是因为scanf读取数据的机制,scanf是从输入缓冲区取数据的
而它取数据的时候会逐个查看,可以理解为贪婪模式,然后发现刚刚吃的那个不好吃,就会吐回输入缓冲区这就会影响用户的下一次输入,
因为输入缓冲区中有东西,所以用户下次输入的东西要排在之前缓冲区内容的后面.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-01
刚学C 语言?
scanf 表示输入 ,“%c”表示输入数据的类型格式 &表示取地址 &ch表示输入数据后存到ch里面等于给ch赋值。
这段代码的意思 是 从键盘输入一个字符 存到ch里面 你在前面一定定义了ch。
第2个回答  2022-03-17

scanf("输入控制符", 输入参数);

这个语句的功能是,将从键盘中输入的字符转化成输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中。

scanf("%c",&ch); 中的 

    "%c" 是输入控制符,%d 表示字符,表示从键盘中输入的字符转换为字符(从键盘中接收的都是字符)

    &ch 是输入参数,ch 是一个变量,而 & 是取地址符。

所以这个语句简单来说就是,将从键盘中接收到的字符转换为字符型,并将这个字符存放到 ch 变量中。

第3个回答  2011-06-01
输入一个字符存在ch这个变量里追问

和cin>>ch有什么区别呢?

追答

功能是一样的,只不过cin是c++的语法而已

追问

饿。。循环中两者作用也一样吗?
比如输入一串字符时

追答

cin的好处是输入时不用控制字符格式,可以输入输入数字,字符,字符串等,如果是输入字符串,它和scanf("%S",str)是一样的

本回答被提问者采纳
相似回答