我现在正在学习C语言,我遇到了这个问题,我想把整数转换成一个数组,我的代码可以工作,但问题是,我在一开始就声明了数组的大小,我想让它基本上对每个整数都有效。
#include<stdio.h>
int main()
{
int x,i,temp;
int arr1[6];
scanf("%d",&x);
for (i=5;i>=0;i--){
temp=x%10;
arr1[i]=temp;
x/=10;
}
for (i=0;i<=5;i++){
printf("%d",arr1[i]);
}
return 0;
}
你能帮帮我吗?
我正在努力寻找解决这个问题的办法。
1条答案
按热度按时间2w2cym1i1#
对于初学者,您的代码没有考虑到用户可以输入负数。
如果不打算处理负值,则将变量
x
声明为无符号整数类型,例如unsigned int
。至于你的问题,那么你可以使用一个可变长度的数组.
例如
如果您的编译器不支持可变长度数组,则可以使用标头
<stdlib.h>
中声明的标准函数malloc
动态分配数组,例如