只要“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/

10-09 05:02