C 语言 给char型数组赋值字符串。

本文详细介绍了如何解决在将整型变量转换为字符串时出现的顺序反问题,并提供了颠倒字符串顺序的方法。

    char CharType[6];                       //  定义一个 char 类型的数组。

    strcpy(CharType,"0.001");           //  将字符串 “0.001” 赋值给 CharType 数组。

    itoa(i_value_flag, CharType);       //  将int型变量,转换成字符串,然后赋值给CharType数组。

 

    当我把int型变量转换成字符串的时候,我发现字符串显示顺序反了。比如 i_value_flag 等于123456,在界面上

显示出来就成了654321,(当然strcpy(CharType,"123456")是可以显示123456的)

    所有我又写了一段颠倒顺序的功能。

  j = 0;
  i = 0;

  while(j==0){
      if(CharType[i]==0){
          j = 1;
      }else {
          i++;
      }
      if(i>5)j=1;
  }// 这里先统计一下有效字符是多少个 ,如果有效字符是4个,存储的效果是‘4’‘3’‘2’‘1’‘\0’'\0',因为‘\0’不用颠倒顺序,所以统计到的4个有效数存到 i 变量里边。

  i--;
  j=0;

  while(j==0){
      if( CharType[i]=='0' && i>0){
          CharType[i]='\0';
          i--;
      } else j=1;
  }//清掉多余的0,如果挨着‘\0’字符,有‘0’的存在,就把这个'0'改为'\0'。因为我主要显示数字

  k = i/2; //如果 i 等于奇数,比如 i 等于5,正好 k 等于2。也就是第三位不用对换。
  l = i;
  for(i=0;i<k;i++){
      c_value_flag   = CharType[l-i];
      CharType[l-i]  = CharType[i];
      CharType[i]    = c_value_flag;
  }//调到有效字符的顺序,比如1和5对换,2和4对换,3不变。

 

 

    

转载于:https://www.cnblogs.com/sunlu/p/5002562.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值