嘿, 我正在尝试使用此函数以使用列出的输入获得以下输出,“...”是我不确定要写什么的地方:
void Question8(void)
{
char sentence[100];
int grade;
scanf(….);
printf("%s %d", sentence, grade);
}
Input:
My CS Grade is 1000
Output:
My CS Grade is 100
然而,问题是我需要 scanf 读取一个 c 字符串,然后使用单个 scanf 命令读取一个 int,这甚至可能吗?
编辑: 我只能在三个句点(“...”)的位置编辑代码,我不能再使用任何东西了。我可以假设列出的输入是预期的,但我无法更改三个时间段之外的任何内容。 输出不包含拼写错误,此赋值的目的是使用标志和转义序列。
最佳答案
可以使用 scanf 读取预先格式化的字符串,但格式必须严格。 此版本将继续读取输入,直到遇到一个数字,然后读取一个整数。 这是您的代码:
char sentence[100];
int grade;
scanf("%[^0-9] %d",sentence,&grade);
printf("%s %d\n", sentence, grade);
关于c - 有没有办法在 C 中读取一个 c 字符串,然后使用一个 scanf 读取一个 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4848371/