| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 624 人关注过本帖
标题:结构体输入输出问题 请求指点
只看楼主 加入收藏
lxg1123
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2010-5-11
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:4 
结构体输入输出问题 请求指点

        printf("please input %dth persons' information as follow:\n",i+1);
        scanf("%ld%s%*c%c%*c%d%*c%c",&st[i].id,&st[i].name,&st[i].sex,&st[i].age,&st[i].flag);

为什么将scanf中的%*c去掉就会运行错误,其中的%*c是什么意思?
搜索更多相关主题的帖子: 结构体 输出 请求 输入 
2010-07-16 11:37
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:20 
*表示跳过
%*c的用意是 当你输入1个数后 用空格 隔开 那么这个空格 就不被当作字符 记录到 字符格式里头
如你想输入一个数字接着就输入一个字符 比如你想输入 1 c
你的格式为 %d%c 但是 1c 不是你想要的 你想隔开来输入 1 c那么 中间需要个空格 而你输入空格的时候
”1 空格 c“ 那么%d%c的值就是“1 空格 ” 空格当作一个字符被%c接受了
所以用*可以跳过这个空格,对这个空格忽略 如%d%*c%c 你输入 "1 空格 c" 由于空格被跳过
也就是%*c这个不需要读取,那么%*c后面的%c就可以得到c这个值

描述不知道清晰否 望海涵

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-16 11:48
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
*就是表示跳过呀

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-07-16 11:50
lxg1123
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2010-5-11
收藏
得分:0 
回复 2楼 do8do8do8
谢谢
2010-07-16 12:03
lxg1123
Rank: 2
等 级:论坛游民
帖 子:31
专家分:18
注 册:2010-5-11
收藏
得分:0 
明白了,谢谢各位指点
2010-07-16 12:05
快速回复:结构体输入输出问题 请求指点
数据加载中...
 
   



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

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