【发布时间】:2026-01-16 05:55:01
【问题描述】:
我正在尝试使用 scanf 来捕获一串数字并将其转换为相应的数组。例如,用户输入 1234,然后输入,将设置以下内容:
array[0]=1
array[1]=2
array[2]=3
array[3]=4
到目前为止,这是我的代码:
void user_input()
{
int cardarray[16];
int i;
char number;
printf("Enter in the number:");
for (i=0; i<16; i++)
{
scanf("%c", &number);
number = cardarray[i] - '0';
}
printf("The number is %d\n", /*some value*/);
}
我知道您必须读取字符并将每个字符转换为整数,但我不确定如何。
【问题讨论】:
-
您的代码似乎完成了您想要它做的事情。您确实读取了字符,并且确实将它们转换为整数。
-
将数字的数字存储为单独的
chars 而不是使用int和%d格式说明符是否有特定原因? -
总是检查scanf的结果,否则你最终可能会处理不确定的数据。