将int转换为char

时间:2014-07-10 13:33:50

标签: c arrays string char int

此代码帽将C语言中的int值(介于100和400之间,总是3位数)转换为char array

您能否告诉我实施是否正确,因为我使用的是本地char array ab,而不是将字符复制到array answer。否则我无法从函数中获取字符串。同样在ab我最后得到一个字母,我不知道为什么它在那里。 谢谢

void toCharacter(int a, char answer[3]){
      char dig; int i;
      char ab[3];
      if (a > 0) {
        for (i=2; i>-1; i--) {
          int l = a%10;
          a /= 10;
          //dig = (char)(l+'0');
          dig = (char)(((int)'0')+l);
          ab[i] = dig;
          printf("char of %d is #%c#\n",i, ab[i]);
        }
      }
       printf("STRING: %s\n",ab);
       strcpy(answer,ab);
       i=2;
    }

int main() {
    char answer1[3];
    memset(answer1, 0, 3);
    int sd = 922;
    toCharacter(sd, answer1);
    printf("String out of funcrion: %s\n",answer1);
}

0 个答案:

没有答案