我需要一个整数值存储在char数组中。
int i;
char example[5];
for(i = 0; i < 5; i++) {
example[i] = i + 1;
}
显然这不起作用。我该怎么做?
答案 0 :(得分:1)
你可以这样使用。
int i;
char example[5];
for(i=0; i<5; i++){
example[i]=i+1+'0';
}
它适用于单个整数值0到9.需要'0'
在char数组中
它将存储ascii值。所以我们需要将ascii值加零以得到实数的整数值。
或者正如Iharob所说,使用char数组。
答案 1 :(得分:0)
int
是一种太宽的类型,无法将其存储在char
中,因此如果您更改计数器的类型会更好
char i;
char example[5];
for (i = 0; i < 5; i++) {
example[i] = i + 1;
}
您必须知道for
循环的迭代次数不能超过CHAR_MAX
。
如果您想要存储值以使example
成为字符串,那么您应该添加ascii '0'
以使值有效ascii字符,并且您应该添加1个额外的'\0'
数组末尾的字符使其成为字符串
char i;
char example[6];
for (i = 1 ; i < 6; i++) {
example[i] = i + '0';
}
example[5] = '\0';
这将生成字符串
12345
答案 2 :(得分:0)
添加此
example[i]=i+1+'0';
和
char example[5] //no terminator here
char example[5];
^^^