| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1770 人关注过本帖
标题:关于控制字符串长度的问题
只看楼主 加入收藏
a1sdf2
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
关于控制字符串长度的问题
   printf("%ms","*")这种格式输出时,可以在*前加任意数量的空格。但问题是当m为一变量N时,该如何写?
   直接将m 代换成N是不行了。这里的m 只能是一个数值吗?要怎么写才能在*前加不定量的空格呢?
   麻烦了,本人初学C语言,帮忙解释下,谢谢~~~
搜索更多相关主题的帖子: 字符 长度 
2010-11-26 22:45
爱得心好累
Rank: 2
等 级:论坛游民
帖 子:60
专家分:24
注 册:2009-11-22
收藏
得分:0 
("%ms","*")?

[url]http://shishangxiaowu277.[/url]出售时尚女装,话费、QQ、以及游戏充值。价格实惠
2010-11-26 23:06
outsider_scu
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:430
专家分:1333
注 册:2010-10-21
收藏
得分:9 
程序代码:
#include "stdio.h"
void main()
{
    int m;
    scanf("%d",&m);
    if(m<0) printf("error\n");
    else
    while(m--) printf(" ");
     printf("%s","*");
}
最笨的方法。

编程的道路上何其孤独!
2010-11-26 23:07
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:9 
    int n=6;    //这个长度就是"%ms"中的m
    char s[10];
    sprintf(s,"%s%ds","\%",n);
    printf(s,"*");

★★★★★为人民服务★★★★★
2010-11-26 23:11
huliangmao
Rank: 2
等 级:论坛游民
帖 子:26
专家分:53
注 册:2010-11-17
收藏
得分:2 
三楼正解,这里给你一个类似的例子,输出字母金字塔的源码,
#include <stdio.h>
main()                        /*主函数*/
{
    char  a, b, c, d, e, h,k;                /*定义变量*/
    printf("输入一个大写字母:");
    scanf("%c", &k);                    
    fflush(stdin);                    /*清空缓冲区中的错误*/
    a = k;
    while(a!='0')                    /*当a满足条件时执行以下语句*/
    {
        while((a != '0')&&(a>='A')&&(a<='Z'))    /*控制条件*/                    
        {
               for (b = 'A'; b <= a; b++)            /*开始循环构建金字塔*/
            {
                for (h = a - b; h > 0; h--)
                printf (" ");
                for (c = 'A'; c < b; c++)
                   printf ("%c", c);
                for (d = b, e = 'A'; e <= d; d--)
                printf ("%c", d);
                printf ("\n");
            }
            printf("\n");
            printf("输入一个大写字母:");
            scanf("%c", &k);            /*输入变量*/
            fflush(stdin);                    /*清空缓冲区中的错误*/
            a=k;
        }               
           while(((a <'A') ||(a > 'Z'))&&(a!='0'))        /*给出判定范围*/
            {
                printf("这不是大写字母,重新输入!\n");
                scanf("%c", &k);            /*输入变量*/
                fflush(stdin);            /*清空缓冲区中的错误*/
                a = k;
            }
    }
    return  EOF;
}
2010-11-27 10:34
a1sdf2
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-11-26
收藏
得分:0 
我是个初学者,数组什么的今天才翻书看过。用三楼的方法,把程序终于给弄出来了。真是学的太浅了,忘了C语言括号里面的不只是条件,任意值就可以。试了下4楼的代码,打出来了,但是看不太懂.....        不过,谢谢啦~~~呵呵
2010-11-27 17:45
柳絮初飘
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-13
收藏
得分:0 
我也是个初学者,只能看懂三楼的代码,五楼的不是太懂,逻辑部分还能看得懂,我自己要多看看书了!
谢谢你们指导!
2010-11-28 14:02
快速回复:关于控制字符串长度的问题
数据加载中...
 
   



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

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