算是为了下一代教育,最近重新学习C语言,学习书籍C primer plus 6版
4章节练习的时候,发现一个问题,当我尝试以逗号分隔两个输入的字符串的时候第二个字符串未能获取到值,且scanf函数直接跳过第二个值的获取。具体代码如下
#include "stdio.h"
int main(void)
{
char first_name[40];
char last_name[40];
printf("请输入你的名与姓,以逗号分隔:\n");
//假设输入数据合法
//此处应有输入规则控制
scanf("%s,%s",last_name,first_name);
//此处应有输出合法性控制
printf("您好,%s%s\n",last_name,first_name);
printf("last name is %s\n",last_name);
//此处我想测试“first_name”是否被赋予了换行字符
printf("first name is %s\n\n",first_name);
}
问题来源于书中对整型d%的格式化输入是可行的,为什么字符串不行呢?
编译器环境: