只要“major”变量只有一个单词,这个程序就可以运行。例如,CIS是有效的输入,但计算机信息系统不是我怎么解决这个问题?
#include<stdio.h>
int main()
{
char major [51];
int classes;
printf("What is your major? ");
scanf("%50s", major);
printf("How many classes are you taking this semester? ");
scanf("%d", &classes);
printf("Your major is %s and you are taking %d classes this semester.\n", major, classes);
}
最佳答案
在遇到换行符之前,您可以使用%50[^\n]
最多匹配50个字符,并将它们存储在major[]
中换行符将留在输入流中,但转换说明符会自动跳过前导空白字符。
请注意,如果用户输入的字符超过50个,则在调用%d
以获取类数之前,输入流中将有多余的字符要丢弃。
关于c - 如何在scanf字符串中包含空格?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43421308/