#include<stdio.h>
int main()
{
char a
int b
float c
double d
scanf("%c %d %f %lf",&a &b &c &d)
printf("%c %d %f %lf",a b c d)
return 0
}
可以先循环输出前面n-1个数,每一次输出后面再输出',',循环结束后再输出最后一个数 。
如果需求必须是先输入字符串后输入数字,那么必须人工进行判断。
思路为用getchar逐个读入字符,并赋值到字符串对应位置,当出现逗号时结束。然后再用scanf读入数字。
简介:
C语言运算符是说明特定操作的符号,它是构造C语言表达式的工具。C语言的运算异常丰富,除了控制语句和输入输出以外的几乎所有的基本操作都为运算符处理。除了常见的三大类,算术运算符、关系运算符与逻辑运算符之外,还有一些用于完成特殊任务的运算符,比如位运算符。
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
C/C++中的Split函数是strtok()其函数原型如下:char
*
strtok
(char
*
str,
const
char
*
delimiters)
函数说明
strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将该字符改为'\0'字符。在第一次调用时,strtok()必需给予参数str字符串,往后的调用则将参数str设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值
返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
示例-1
/*
strtok
example
*/
#include
<stdio.h>
#include
<string.h>
int
main
()
{
char
str[]
="a,b,c,d*e"
const
char
*
split
=
","
char
*
p
p
=
strtok
(str,split)
while(p!=NULL)
{
printf
("%s\n",p)
p
=
strtok(NULL,split)
}
getchar()
return
0
}
本例中,实现对字符串'a,b,c,d*e"用逗号(,)来作界定符对字符串进行分割。
输出结果将如下所示:
a
b
c
d*e
因为delimiters支持多个分割符,
我们将本示例中的语句行
const
char
*
split
=
","
改成
const
char
*
split
=
",*"
//用逗号(,)和星号(*)对字符串进行分割
这样输出结果将如下所示:
a
b
c
d
e