我正在尝试确定一种输入数据时的方式,如下所示:
Name Integer
Name Integer
Name Integer
.
每次输入名称和整数并检测到换行符时,都会使用该名称和整数完成操作,然后一次又一次,直到“。” 被检测到。
例如,我尝试过getchar()
循环和 IF 语句来检测'\n'
,但似乎都不起作用。有任何想法吗?
怎么样:
#include <string.h>
#include <stdio.h>
int main()
{
char input[30];
gets(input);
while(strcmp(input, ".") != 0)
{
// do stuff
gets(input);
}
return 0;
}
不要scanf
直接使用。使用起来非常困难。最好读取整行输入(例如,使用fgets
)然后解析它(可能使用sscanf
)。
scanf("%s%d\n", name, &intVar);
if((*name=='.') && (*(name+1)=='\0')){
return 0;
}
这应该足够了