scanf函数输入多个字符串 用逗号隔开失效及解决办法

学习C primer Plus 第六版,第四章 第一题输入两个字符串出错

 

原因在于scanf输入字符串时逗号不能作为分隔符

用正则表达式,用%[^,]替代%s,意思是使scanf读取到逗号时停止读取.并且保留逗号, 
即将代码修改为

#include<stdio.h>
int main()
{
    char test1[40],test2[40];
    scanf("%[^,]%s",test1,test2);
    printf("%s\n%s",test1,test2);
    return 0;
}