【发布时间】:2021-05-24 16:53:07
【问题描述】:
您好,我很难以特定方式阅读 C 中的用户输入...
我想读取用户输入,在这种情况下,我的程序将验证前三个字符为字符,最后四个数字为数字。 而且我不知道如何确保他们的输入是 总共 7 个字符(3 个字符,4 个整数)例如:ULI0788。
我不想使用数组,例如 arr[12];
目前我正在学习内存分配和指针,因此鼓励我尽可能使用它而不是数组
例如
char itemID;
printf("Enter an ID of ITEM. (max 3 characters, 4 digits)");
scanf("%s", itemID);
我已经进行了一些谷歌搜索并尝试了用户建议,但没有人能同时满足我的要求,验证每个字符/数字并设置最多 7 个字符/数字。或者我只是不明白如何正确使用这些建议
googled
googled2
googled3
googled4
googled5
googled6
googled7
googled8
googled9
googled10
【问题讨论】:
-
不确定“不想使用数组”是什么意思。这是你的导师强加的人为限制吗?在您发布的代码片段中,
itemID可能是一个数组 -
In
C, the definition of a string is "以空字符 '\0' 结尾的一维字符数组。"。说你想使用非数组字符串就像要一杯水,但不要弄湿。 -
如果不允许使用数组,可以使用指针并调用
malloc。不确定这是否会违反您人为限制的文字或精神。 -
@ryyker 说你想使用非数组字符串就像要一杯水,但不要弄湿。那只是脱水水。就加水。 ;-)
-
@AndrewHenle - 哈哈,我一直在等待有人对此发表评论,但我想这会是这样的,冰呢?
标签: c