Maz*_*zzY 5 c arrays type-conversion
我已经为此搜索了几个小时,但似乎找不到答案,尤其是在 C 语言方面。在java中,转换等很简单,但我似乎无法在C中牢牢掌握它。
我的问题是:我必须从用户那里获得输入,他们可以输入 0 到 31 之间的任何数字。他们最多可以输入 31 个数字。他们可以重复。输入可能如下所示:3 15 32。我知道如何使用 fgets() 函数获取此输入并将其存储为字符串。我将输入存储在数组 s[];
现在,我被卡住的部分,如何将其转换为 int 数组,以便 int int[0]=3、i[1]=15、i[2]=32 等?
我尝试使用 sscanf(s, "%d", int),但它只能从输入中获取第一个数字,将其存储在 int[0] 中,然后不填充其余部分。是否有某种功能可以让这一切变得简单快捷?
先感谢您。
你可能想太多了。这是一种从用户输入数字的简单方法,不涉及格式化或解析字符串。
int numArray[31];
int i = 0;
int num = 0;
while( scanf("%d", &num) > 0 && i < 31 && num >0) {
numArray[i] = num;
i++;
}
Run Code Online (Sandbox Code Playgroud)
当用户输入负数或输入所有 31 个可能的数字时,循环将停止。
不过,您仍然必须确保用户输入 0 到 31 之间的数字!
| 归档时间: |
|
| 查看次数: |
13710 次 |
| 最近记录: |