| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:将int转化为string的问题,附加条件是字符数组有最小宽度,不够就以空格补齐 ...
只看楼主 加入收藏
张学平
Rank: 2
等 级:论坛游民
帖 子:26
专家分:13
注 册:2013-11-20
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:8 
将int转化为string的问题,附加条件是字符数组有最小宽度,不够就以空格补齐
程序代码:
#include <stdio.h>
#include <string.h>
void reverse(char s[])
{int i,j;
 char c;
 for(i=0,j=strlen(s)-1;i<j;i++,j++)
  {c=s[i];s[i]=s[j];s[j]=c;}   
}
void itoa(int n,char s[],int w)
{int i=0,sign;
 if((sign=n)<0)n=-n;
 do
 {s[i++]=n%10;}while(n/=10>0);
 if(sign<0)s[i]='-';
 if(i<w)
  for(;i<=w;i++)
   s[i]=' ';
 s[i]='\0';
 reverse(s);
}
int main(void)
{int n=994,w=5;
 char s[100];
 itoa(n,s,w);
 printf(s);
}//where is the problem?
搜索更多相关主题的帖子: include 
2014-01-16 09:42
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:4 
printf(s);这是什么??
for(i=0,j=strlen(s)-1;i<j;i++,j++)
  {c=s[i];s[i]=s[j];s[j]=c;}   //这里j后面有赋值吗??

。。。。。。。。。。。
2014-01-16 10:06
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:4 
for(i=0,j=strlen(s)-1;i<j;i++,j++)
  {c=s[i];s[i]=s[j];s[j]=c;}   
而且你这句要是运行的话  可能会是死循环啊。如果i<j  i++  j++ 那么i永远小于j 这不是死循环么?

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2014-01-16 16:45
张学平
Rank: 2
等 级:论坛游民
帖 子:26
专家分:13
注 册:2013-11-20
收藏
得分:0 
回复 2楼 ljx小子
printf(s);和printf("%s",s);一样啊
2014-01-17 10:16
张学平
Rank: 2
等 级:论坛游民
帖 子:26
专家分:13
注 册:2013-11-20
收藏
得分:0 
回复 3楼 so_love
j--,sorry写错了
2014-01-17 10:17
张学平
Rank: 2
等 级:论坛游民
帖 子:26
专家分:13
注 册:2013-11-20
收藏
得分:0 
但是改过来还是不行
2014-01-17 10:18
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:0 
printf(s);和printf("%s",s);一样啊
 
你确定一样么?我是没那么用过。


一花一世界、一叶一追寻、片片花叶落、情系何人身。
2014-01-17 10:19
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:4 
为什么不直接用 printf/sprintf ?
程序代码:
#include <stdio.h>

int main(void)
{
    printf( "%5d\n", 994 );
    printf( "%*d\n", 5, 994 );

    char str[6];
    sprintf( str, "%*d", int(sizeof(str)/sizeof(str[0])-1), -12 );
    printf( "%s\n", str );

    return 0;
}

2014-01-17 12:05
张学平
Rank: 2
等 级:论坛游民
帖 子:26
专家分:13
注 册:2013-11-20
收藏
得分:0 
回复 8楼 rjsp
受教了
2014-02-18 09:42
快速回复:将int转化为string的问题,附加条件是字符数组有最小宽度,不够就以空 ...
数据加载中...
 
   



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

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