比如要接受一个库存记录:
记录号码 工具名称 数量
1 Tom Curious 5
如果用 scanf("%d%s%d") 显然行不通,各位兄弟有什么好办法?
#include
#includ
int main() {
int i, j;
char s[100] = {0}, str[100];
gets(str); // 将输入作为一个字符串读入
sscanf(str, "%d%[^0-9]%d", &i, s, &j); // 用 sscanf 把输入的字符串中的各个值提取出来。注意,这个不是正则表达式。
// %[^0-9] 表示从当前位置起所有不为 '0' - '9' 的字符。
printf("%d /"%s/" %d", i, s, j);
return 0;
}
Bccn网友给出的完美答案。