黑马程序员技术交流社区

标题: %*c可以用来接受字符,具体都在什么时候用? [打印本页]

作者: i_iOS    时间: 2015-9-27 12:39
标题: %*c可以用来接受字符,具体都在什么时候用?
求大神举例
作者: Brisingr    时间: 2015-9-28 13:16
比如你接受两个字符:
char a;
char b;
scanf("%c%c",&a,&b);
如果你这样去写的话,因为输入完一个字符你需要按回车确认,所以a里边会存储你输入的第一个字符,b里边则存的
是换行符,你输入的第二个字符是不能被接收到b里的,所以这里需要接收一个空字符来存储回车,所以用%*c,
或者你可以用getchar();函数放在a和b之间也是可以的。
作者: hailiqh    时间: 2015-9-28 16:43
这个偶不知道,咋没见过
作者: 超の    时间: 2015-9-28 17:14
用在scanf中就是可以忽略一个字符,如scanf("%c%*c&c",&a,&b,&c);这样的写法,当你输入"abc"
作者: 超の    时间: 2015-9-28 17:15
超の 发表于 2015-9-28 17:14
用在scanf中就是可以忽略一个字符,如scanf("%c%*c&c",&a,&b,&c);这样的写法,当你输入"abc" ...

他只能就收a和c忽略了中间的字符
作者: Meracle    时间: 2015-9-28 20:23
比如char tmp[] = “abc def”这个字符串
char buf【4】 = {0};
sscanf(tmp,"%*s%s",buf);
他会跳过第一个字符串,打印的buf为def




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2