查看: 3628|回复: 13

[求助] 求助各位:一个C语言的问题。

[复制链接]

该用户从未签到

3

主题

555

帖子

2

金牌会员

Rank: 6Rank: 6

积分
1343
最后登录
2018-10-23
发表于 2015-11-27 17:36:48 | 显示全部楼层 |阅读模式
编写一个程序,把一个十进制数转化为十六进制,高位和地位分别保存在数组value[0]和value[1]里,然后再打印。出现了图中的问题:1。数组并没有完全输出正确,如图中第一处标记。2.为何多了换行。如图第二处标记。

无标题.png

代码如下:

#include <stdio.h>
#define SCAL 30
char value[2]={0};
int main()
{
    int i=1;
    for ( i=1;i<=256;i++)
    {
            long a = i*SCAL;

            int b=a/256;
            int c=a%256;
            
            value[0]=b;
            value[1]=c;

                printf("\t%4d\t%2x%2x\t\t",a,value[0],value[1]);
                if(i%2==0) printf("\n");       
    }

    return 0;
}




困惑几天了,请各位高手指点。谢谢!


我知道答案 目前已有13人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 16:14
  • 签到天数: 1442 天

    连续签到: 1 天

    [LV.10]以坛为家III

    17

    主题

    3862

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    8291
    最后登录
    2021-12-10
    发表于 2015-11-27 17:59:48 | 显示全部楼层
    换行的原因应该是屏幕显示自动换行吧!你调整一下显示位置试看看。
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-11-27 17:56:35 | 显示全部楼层
    本帖最后由 wambob 于 2015-11-27 17:58 编辑

    变量定义和运算分开,另外类型不一致 赋值可能溢出
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-11-27 18:02:05 | 显示全部楼层
    另外打印换行
      if(i%3==0) printf("\r\n");     
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    555

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    1343
    最后登录
    2018-10-23
     楼主| 发表于 2015-11-27 18:02:20 | 显示全部楼层
    slotg 发表于 2015-11-27 17:59
    换行的原因应该是屏幕显示自动换行吧!你调整一下显示位置试看看。

    谢谢,换行确实是因为打印数据前的一个制表符的空位。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    555

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    1343
    最后登录
    2018-10-23
     楼主| 发表于 2015-11-27 18:14:23 | 显示全部楼层
    slotg 发表于 2015-11-27 17:59
    换行的原因应该是屏幕显示自动换行吧!你调整一下显示位置试看看。

    如你所说,我将变量i,a,b,c 都定义为整形,就不出现这种情况了。谢谢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    555

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    1343
    最后登录
    2018-10-23
     楼主| 发表于 2015-11-27 18:14:39 | 显示全部楼层
    slotg 发表于 2015-11-27 17:59
    换行的原因应该是屏幕显示自动换行吧!你调整一下显示位置试看看。

    如你所说,我将变量i,a,b,c 都定义为整形,就不出现这种情况了。谢谢。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-11-27 18:27:31 | 显示全部楼层
    1. #include <stdio.h>
    2. #define SCAL 30
    3. int value[2]={0};
    4. int i,a,b,c,temp;
    5. int main()
    6. {
    7.    
    8.    for ( i=1;i<=256;i++)
    9.     {
    10.            a = i*SCAL;
    11.            temp=a;
    12.             b=temp/256;
    13.             c=temp%256;
    14.             
    15.             value[0]=b;
    16.             value[1]=c;

    17.                 printf("\t%4d\t%2x\t%2x\t\t",a,value[0],value[1]);
    18.                 if(i%3==0) printf("\r\n");
    19.     }              
    20.     return 0;
    21. }
    复制代码
    11.PNG
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    555

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    1343
    最后登录
    2018-10-23
     楼主| 发表于 2015-11-27 19:02:31 | 显示全部楼层

    谢谢你的回答。还有一处不明白为什么要有这一句: temp=a;
    没有不也不影响吗。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-11-27 19:49:27 | 显示全部楼层
    disheng4688 发表于 2015-11-27 19:02
    谢谢你的回答。还有一处不明白为什么要有这一句: temp=a;
    没有不也不影响吗。 ...

    的确没有影响
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-25 21:05 , Processed in 0.110872 second(s), 32 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表