C 用 space 分隔文本
C separating text with space
我写了一个代码,应该添加两个由 space 分隔的罗马数字。有一些问题,可能是这部分(第 93 行)
pch = strtok (str," ");
当我将其他标志放在括号中时,它可以正常工作。我不知道为什么。如果有人能提供帮助,我将不胜感激。 (我对C中char的用法了解不多)
转换罗马数字的部分没有正确粘贴在这里,但我认为我的错误在 main 函数的某个地方。
int main() {
char str[26];
scanf("%s", &str);
char * pch;
int result=0;
pch = strtok (str," ");
while (pch != NULL)
{
result+=roman(pch, sizeof pch / sizeof pch[0]);
pch = strtok (NULL, " ");
}
printf("%d",result);
return 0;
}
scanf() 只读到第一个 space。看看这个 link:https://www.geeksforgeeks.org/taking-string-input-space-c-3-different-methods/
最流行的方法是 fgets()
我写了一个代码,应该添加两个由 space 分隔的罗马数字。有一些问题,可能是这部分(第 93 行)
pch = strtok (str," ");
当我将其他标志放在括号中时,它可以正常工作。我不知道为什么。如果有人能提供帮助,我将不胜感激。 (我对C中char的用法了解不多)
转换罗马数字的部分没有正确粘贴在这里,但我认为我的错误在 main 函数的某个地方。
int main() {
char str[26];
scanf("%s", &str);
char * pch;
int result=0;
pch = strtok (str," ");
while (pch != NULL)
{
result+=roman(pch, sizeof pch / sizeof pch[0]);
pch = strtok (NULL, " ");
}
printf("%d",result);
return 0;
}
scanf() 只读到第一个 space。看看这个 link:https://www.geeksforgeeks.org/taking-string-input-space-c-3-different-methods/ 最流行的方法是 fgets()