A. c语言输入字符串和数字时如何用逗号隔开
1 如果使用scanf进行格式化输入,用逗号隔开不适用于先输入字符串后输入数字的情况,仅适用于数字的间隔,或者先输入数字后输入字符串。
下面是先输入数字后输入字符串的例子:
#include<stdio.h>
intmain()
{
chars[100];
intv;
scanf("%d,%s",&v,s);//先输入整型变量v,再输入字符串,可以使用逗号分隔。
printf("%s %d ",s,v);//输出得到的变量,每行一个值。
return0;
}
如果输入:
123,abc
会输出:
abc
123
但是如果先输入字符串再输入数字,比如用scanf("%s,%d",s,&v);的格式,系统会出错。
2 如果需求必须是先输入字符串后输入数字,那么必须人工进行判断。
思路为用getchar逐个读入字符,并赋值到字符串对应位置,当出现逗号时结束。然后再用scanf读入数字。
代码如下:
#include<stdio.h>
intmain()
{
chars[100];
intv;
inti=0;
while(1)
{
s[i]=getchar();//逐个输入字符并赋值到字符串中。
if(s[i]==',')//输入结束。
{
s[i]='