我正在编写一个代码,我可以在其中将数字与用户给出的数字分开,并将每个数字输入到新数组中。
我是C的新手,我正在努力将数字放入数组中,我试图打印所有计算的内容,以便查看我出错的地方,但我可以搞清楚
#include<stdio.h>
int main()
{
int input,COUNT=0,i;
printf("LCD calculator display.\n");
printf("Enter input:");
scanf("%d",&input);
int inputCopy = input;
while(input!= 0)
{
input /= 10;
COUNT++;
printf("Count = %d\n",COUNT);
}
int s = COUNT;
int output[5];
int SIZE = sizeof(output);
printf("s = %d\n",s);
printf("output size = %zu\n",sizeof(output));
printf("Size = %d\n",SIZE);
for(i=0;i<COUNT;i++)
{
int digit = inputCopy % 10;
output[i] = digit;
inputCopy /= 10;
i++;
}
for(i=0;i<COUNT;i++)
{
printf("Numbers: %d\n",output[i]);
}
}
我得到以下结果:
LCD calculator display.
Enter input:13579
Count = 1
Count = 2
Count = 3
Count = 4
Count = 5
s = 5
output size = 20
Size = 20
Numbers: 9
Numbers: 0
Numbers: 7
Numbers: 0
Numbers: 5
我知道他们在那里有一些不必要的线路可以帮助我找出错误的地方 任何有助于正确存储数字的帮助非常感谢
答案 0 :(得分:0)
你在for循环中增加了两次
for(i=0;i<COUNT;i++) // HERE
{
int digit = inputCopy % 10;
output[i] = digit;
inputCopy /= 10;
i++; // AND HERE
}