【发布时间】:2012-11-09 16:47:02
【问题描述】:
基本上,每次遇到空格时,我都会尝试将用户输入连接到 char 数组(源)的数组中。换句话说,如果 sourceHold 包含“祝你生日快乐”,则源的数组内容将为“happy”(在 0)、“birthday”(在 1)、“to”(在 2)、“you”(在3)。 sourcesTag 保存 char 数组数组的当前索引。退出循环时我不断收到错误(代码总是在它完全退出循环之前中断。最后一个“LOOP EXIT”打印行永远不会打印。把它放在那里测试出了什么问题。知道为什么我的循环不会终止吗?我猜测这是因为当整个输入字符串被标记化时,while 语句没有正确终止,但是什么是好的语句呢?
while(sourceHold != NULL)
{
if(sourceHold[0] == '\n')
break;
printf("%s \n", sourceHold);
strcpy(sources[sourcesTag], strtok(sourceHold, " "));
sourcesTag++;
strcpy( sourceHold, strtok(NULL, "\n"));
}
printf("LOOP EXIT");
【问题讨论】:
标签: c while-loop strtok