| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2445 人关注过本帖
标题:关于printf函数输出宽度问题
只看楼主 加入收藏
yuandefeng
Rank: 4
等 级:业余侠客
威 望:3
帖 子:51
专家分:216
注 册:2017-11-28
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:4 
关于printf函数输出宽度问题

问题:假设S是由用户输入的字符串,可不可以让printf输出S,换一行输出S包含的字符数,同时该数字的输出宽度与S的宽度一致,即右边对齐。
例如:
hello
    5
能不能做到让printf自动计算宽度,并设定第二个宽度,而不用人为的设定。
搜索更多相关主题的帖子: printf 函数 输出 宽度 设定 
2017-12-19 17:04
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:2 
你看看是不是你想要的?
程序代码:
#include <stdio.h>

int main(void)
{
    int  n=0,i=0;
    char c[128]={0};
    printf("请输入1个字符串:\n");
    gets(c);
    while(c[n]!='\0'){
        n++;
    }
    i=n;
    printf("你输入的字符串是:\n%s\n",c);
    while(i!=0){
        printf(" ");
        i--;
    }
    printf("%d\n",n);
    return(0);
}

2017-12-19 17:52
yuandefeng
Rank: 4
等 级:业余侠客
威 望:3
帖 子:51
专家分:216
注 册:2017-11-28
收藏
得分:0 
回复 2楼 虫眼
谢答。
也能实现,不过要改成i=n-1;
但是我想问的是能不能在printf函数的输出格式控制上做文章来实现。

2017-12-19 19:22
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:8 
    printf("%s\n", "hello");
    printf("%*d\n", 5, 5);
2017-12-19 20:01
yuandefeng
Rank: 4
等 级:业余侠客
威 望:3
帖 子:51
专家分:216
注 册:2017-11-28
收藏
得分:0 
回复 4楼 吹水佬
yes!!!
借助你的想法 我用strlen()实现了。原来还可以用星号。
#define A "hello"
printf("%s\n",A);
printf("%*ld",strlen(A),strlen(A));


[此贴子已经被作者于2017-12-19 20:29编辑过]

2017-12-19 20:27
快速回复:关于printf函数输出宽度问题
数据加载中...
 
   



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

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