1
我的功能还没有完全完成,但我现在要做的是长整数的上一行的变量个数读取:和strchr使用和strtol将
- 要分开的一串数字阅读由空格。
- 从该字符串中提取数字。
- 将它们转换为长整数。
返回读取号码的数量。
int input(int a, int b, long int *result_array) { int ele = 0; char buffer[200]; char *start, *end; scanf("%[^\n]%*c", buffer); start = buffer; while((end = (strchr(start, ' ')) != NULL)) { result_array = strtol(start, &end, 10); ele += 1; start = end + 1; } return ele; }
它似乎没有正常工作,我想我和strchr使用错误。
@DanielFischer OK理解谢谢:) – 2013-03-02 19:19:28
感谢您的答复。哦,这就是strtol函数的工作原理,我完全误解了它。我认为第二个论点是应该停止作为输入的地方,而不是作为输出实际停止的地方。这非常完美,非常感谢你! – Frey1337 2013-03-02 19:32:41
@ Frey1337第二个参数是从strtol()返回的,这就是第二个参数中的原因'end'出现为&end'作为第一个参数被输入,所以只有'end'就足够了! ..让我知道你是否有其他困惑。 – 2013-03-02 19:36:33