Ootme 发表于 2020-4-2 14:13:36

求助!~ C语言怎么把1变成'1'啊

unsigned char t;
t=0;
t++;

想把1 变成'1'

用了一个很笨的方法,还有什么方法吗~~
                switch(t){
                        case 0: t='0';break;
                case 1: t='1';break;
                case 2: t='2';break;
                case 3: t='3';break;
                case 4: t='4';break;
                case 5: t='5';break;
                case 6: t='6';break;
                case 7: t='7';break;
                case 8: t='8';break;
                case 9: t='9';break;
}

Ootme 发表于 2020-4-2 14:16:56

求助

BngThea 发表于 2020-4-2 14:18:59

百度一下 itoa 函数

一个账号 发表于 2020-4-2 14:20:59

看看这个:https://baike.baidu.com/item/itoa/4747365?fr=aladdin

人造人 发表于 2020-4-2 14:33:15

printf("%c\n", 1 + '0');

杜若左 发表于 2020-4-2 14:35:42

不知道这个能不能满足你的要求{:10_245:}

杜若左 发表于 2020-4-2 14:36:26

#include <stdio.h>

int main()
{
   int a = 1;
   char b = a + '0' ;
   printf("%c",b);
    return 0;
}

Ootme 发表于 2020-4-2 14:44:10

杜若左 发表于 2020-4-2 14:36


谢了。。。那超过10怎么办啊

杜若左 发表于 2020-4-2 14:46:17

Ootme 发表于 2020-4-2 14:44
谢了。。。那超过10怎么办啊

只要在数字后面加上 '0'就可以变成字符,超过10也没有关系。{:10_256:}

Ootme 发表于 2020-4-2 14:49:32

杜若左 发表于 2020-4-2 14:46
只要在数字后面加上 '0'就可以变成字符,超过10也没有关系。

怪我。。没说清楚,我是用单片机的,想在LCD1602上显示,我超过10就显示乱码,不过可以用两个数来显示,
有不用两位数的方法吗{:10_254:}

人造人 发表于 2020-4-2 14:50:14

Ootme 发表于 2020-4-2 14:49
怪我。。没说清楚,我是用单片机的,想在LCD1602上显示,我超过10就显示乱码,不过可以用两个数来显示,
...

#include <stdio.h>

int main(void) {
    char buff;
    sprintf(buff, "%d", 1234);
    printf("%s\n", buff);
    return 0;
}
页: [1]
查看完整版本: 求助!~ C语言怎么把1变成'1'啊