| 网站首页 | 业界新闻 | 群组 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
雷速体育发帖软件开发QQ118000023C语言培训|一对一辅导|零基础学编程LightningChart 快速先进的.Net图表控件
共有 276 人关注过本帖
标题:到底什么时候要加%*c
只看楼主 收藏
CCC1234
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-1-13
结帖率:0
  已结贴   问题点数:20  回复次数:4   
到底什么时候要加%*c
#include<stdio.h>
void main()
{
    int i,t,l;
    char s[100],m;
    while(~scanf("%c%*c",&m))
    {
        t=0;
        gets(s);
        for(i=0;s[i]!='\0';i++)
        {
            if(s[i]==m)
                t++;
        }
        printf("%c:%d\n",m,t);
    }
}
这个%c后面为什么要加%*c
2018-01-13 21:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:145
帖 子:5929
专家分:25869
注 册:2014-5-20
  得分:10 
取%c不取%*c
2018-01-13 22:15
南山南
Rank: 2
等 级:论坛游民
帖 子:13
专家分:17
注 册:2016-10-19
  得分:10 
C语言中没有用%*c来表示数据类型吧
2018-01-14 20:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:145
帖 子:5929
专家分:25869
注 册:2014-5-20
  得分:0 

scanf()函数调用格式为: scanf("<格式化字符串>",<地址表>);

格式化字符串其控制串由三类字符构成:

1、格式化说明符
2、空白符
3、非空白符

(1)格式化说明符
格式  说明
%a    读入一个浮点值(仅C99有效)
%A    同上
%c    读入一个字符
%d    读入十进制整数
%i    读入十进制,八进制,十六进制整数
%o    读入八进制整数
%x    读入十六进制整数
%X    同上
%c    读入一个字符
%s    读入一个
%f    读入一个浮点数
%F    同上
%e    同上
%E    同上
%g    同上
%G    同上
%p    读入一个指针
%u    读入一个无符号十进制整数
%n    至此已读入值的等价字符数
%[]   扫描字符集合
%%    读%符号
%*    指定类型的数据但不保存

(2)空白字符
空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符,空白符可以是space,tab,newline等等,直到第一个非空白符出现为止。

(3)非空白字符
一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。但在输入时必须输入这些字符。否则就会出错 。

2018-01-15 05:29
南山南
Rank: 2
等 级:论坛游民
帖 子:13
专家分:17
注 册:2016-10-19
  得分:0 
回复 4楼 吹水佬
受教了
2018-01-15 08:37







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055311 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved