此代码帽将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);
}