gpt4 book ai didi

c - strtok() 函数在 C 中无法正常工作

转载 作者:行者123 更新时间:2023-11-30 18:25:47 25 4
gpt4 key购买 nike

我使用以下代码在 C 语言循环中应用了 strtok():

printf("%s",line);
printf("%d %d %d\n",atoi(strtok(line," ")),atoi(strtok(NULL," ")),atoi(strtok(NULL," ")) );

输出为:

103 70 105 150

103 0 0

115 17 127 21

115 127 17

10 108 105 97

10 105 8

13 122 43 8

13 43 122

50 187 35 71

50 35 187

我不知道为什么我的偶数行会乱序。

即在103 70 105 150中,我需要将所有数字分隔在偶数行中。

最佳答案

在您的情况下, printf 参数的评估顺序与您想象的相反。事实上,C 中并没有严格定义参数的求值顺序,因此您应该将代码重新排列为:

printf("%d ",atoi(strtok(line," ")));
printf("%d ",atoi(strtok(NULL," ")));
printf("%d\n",atoi(strtok(NULL," ")));

关于c - strtok() 函数在 C 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22812247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com