C语言 scanf混合输入

char a[5],b[5]
int i
在scanf输入的时候,scanf(%s %s %d,a,b,&i)可以通过空格符将输入隔开
比如
test test 1 //这个可以正常储存数据
testmore testmore 1 //即使溢出也可储存数据
testmore,test testmore 1 //将输出testmore,test,testmroe,1(假设print("%s,%s,%d",a,b,i);)
scanf包括标点符号也会正常储存在数组,包括(‘\0‘,‘ ,‘等等)(除了空格)
 
 
如果输入使用‘,‘隔开数据,需要使用正则表达式
scanf("%[^,],%[^,],%d",此时可以使用‘,‘正常隔开数据输入
比如
test,test,1 //将输出test,test,1(假设print("%s,%s,%d",a,b,i);)
 
请不要用scanf("%s ,%d")这种方式输入数据(‘,‘前有空格),会导致各种溢出错误,可以自己有时间调试测试