c语言:n和a由键盘输入,输入时数据可用空格或逗号做分隔符。怎么做到空格和逗号都可以?

输入要求:("%d,%d",&a,&n) 或 :("%d %d",&a,&n)帮我写一下呗?
2025-01-06 17:27:38
推荐回答(4个)
回答1:

好奇怪的需求啊!
我得第一反应有些复杂,就是将所有输入存成字符串,数字字符1 “逗号”或“空格”数字字符2,分别将数字字符1和数字字符2匹配出来,再用atoi()函数转换成整形。这样的好处在于在输入时,不仅可以用“逗号”、“空格”分隔,可以用任意的字符分隔!

回答2:

楼上代码的意思是,首先系统等待你输入一个整数,当你输入完一个整数后,系统再等待你输入一个整数,如果你此时输入的不是整数,系统将忽略,并继续等待,所以不管你中间输入什么非整数的东西都会忽略。当然,在等待第一个数输入的时候也可以这样理解。

回答3:

scanf("%d%d",&a,&n);
这句就可以了

回答4:

scanf("%d%*c%d", &a, &b);
可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入。