| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 40601 人关注过本帖
标题:C语言中%*s,%*c 是什么意思
只看楼主 加入收藏
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
结帖率:97.44%
收藏
已结贴  问题点数:20 回复次数:17 
C语言中%*s,%*c 是什么意思
如题
搜索更多相关主题的帖子: C语言 
2011-08-07 14:37
f34355281
Rank: 2
来 自:云南
等 级:论坛游民
帖 子:27
专家分:78
注 册:2011-7-11
收藏
得分:1 
回复 楼主 世界模型
额我只知道%s是以字符串,%c是以当个字符!
2011-08-07 16:17
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
我貌似没见过%*s 和 %*c

                                         
===========深入<----------------->浅出============
2011-08-07 16:41
世界模型
Rank: 4
等 级:业余侠客
威 望:1
帖 子:240
专家分:226
注 册:2010-9-12
收藏
得分:0 
我只知道%*c在输入的时候有吃掉回车符的作用
前面的就不知道了
2011-08-07 17:04
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:2 
这个的作用就是使该输出格式无效 不会按照这个格式输出的意思
2011-08-07 17:49
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:5 
动态控制显示格式用的,运行下下面的代码就明白了:
程序代码:
#include <stdio.h>

int main(int argc, char* argv[]) {
    int minimum_length;
    
    for (minimum_length = 1; minimum_length < 6; minimum_length++) {
        printf("Minimum length %d:\n", minimum_length);
        printf("%*c\n%*s\n\n", minimum_length, 'A', minimum_length, "ABC");    // * 用来表示一个整数值
    }
    
    return 0;
}
2011-08-07 17:57
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
大家见过:
%5d
这样的修饰吧?
但那个 5 得写死在程序里。如果想,用变量控制呢?方法就是这个,比如:
程序代码:
int a = 123;
int b = 5;
printf("%*d", b, a);

效果和 %5d 一样。
2011-08-07 18:03
luzhanxing
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-8-7
收藏
得分:0 
吃掉回车,其余不懂---
2011-08-07 19:04
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:1 
%*5s是为了将后面的5个字符读入而不对任何字符串赋值,同理可得%*c,%*d,%*f,正则。。还是不说了

免费赠送河蟹一只
2011-08-07 19:13
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:3 
哦。楼主没说清楚。这个东西用在 scanf 和 printf 里效果是不一样的。
其实感觉也不是很常用。

在 scanf 里的意思,表示忽略要读的项。比如 %*d 就是读一个 %d 该读的东西,但不赋值给任何变量。
比如:
int a;
scanf ("%*d %d", a);

如果你输入的是
1 2
那么 a 就是 2。那个 1 就被读掉后忽略了。
2011-08-07 23:10
快速回复:C语言中%*s,%*c 是什么意思
数据加载中...
 
   



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

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