标题:输入一个4位数,要求输出这4个数字字符,每两个数字间空一个空格。求解惑。 ...
取消只看楼主
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
结帖率:90%
已结贴  问题点数:20 回复次数:2 
输入一个4位数,要求输出这4个数字字符,每两个数字间空一个空格。求解惑。哪里不对?
#include<stdio.h>
#include<conio.h>
char s[8];
void si(int a)
{   int i;
    for(i=0;i<8;i++)
    {       if(i==0)s[i]=a/1000+48;
        if(i==2)s[i]=(a%1000)/100+48;
        if(i==4)s[i]=((a%1000)%100)/10+48;
        if(i==6)s[i]=a/10+48;
        if(i%2!=0)s[i]=' ';}
}
int main()
{
    int b,j;
    printf("please input number;");
    scanf("%d",&b);
    printf("\n");
    si(b);
    for(j=0;j<8;j++)
    printf("%c",s[j]);
    printf("\n");
    getch();
    return(0);
}
输入1234 运行时输出的结果只有1 2 3 ?(是1 2 3 外加一个问号。。)第4个数字就是出不来。。是程序有错还是。程序本来就不应该这样写.求各位前辈解惑。。。。。
搜索更多相关主题的帖子: include please number return include please number return 
2015-10-20 19:39
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
得分:0 
回复 2楼 边小白
多谢。
2015-10-21 10:20
朔源
Rank: 1
等 级:新手上路
帖 子:105
专家分:4
注 册:2015-9-22
得分:0 
+48是因为0的ASCII值是48
2015-10-22 19:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-458372-1-1.html




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

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