基本上我试图在每次遇到空格时将用户输入连接到一个字符数组(源)数组中。换句话说,如果 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");