例子如下:
直接编译,程序输出结果中任意输入字符串和数字,程序执行结果如下图所示:
扩展资料:字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
通常以串的整体作为 *** 作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
用strncpy函数,函数签名char * strncpy(char *dest, const char *src, size_t n)
比如要是从src第2个字符开始截取3个字符,可以用
strncpy(dest, src + 2 - 1, 3)
可改变数组大小,满足你可能的输入状况。
#include<stdio.h>
int main(){
char str[200] // 假定输入1行字符串,长度在200以内
char s[20][16] // 假定 用逗号分隔 的部分 约20个,每个长度 不超过16字符
double d[20] // 假定数据个数 不超过 20 个
int i,j=0,L,n=0
fgets(str,200,stdin) // 读入一行 字符串,含换行符
L = strlen(str) //计算输入的字符串长度
for (i=0i<Li ){
s[n][j]=str[i]j
if (str[i]==',' || str[i]=='\n') {s[n][j-1]='\0'j=0n } // 取出 逗号分隔 开的字符串
}
for (i=0i<ni ) printf("%s\n",s[i]) //输出这些 分开的字符串
j=0
for (i=0i<ni ){
if ( sscanf(s[i],"%lf",&d[j]) == 1) j // 能转换为数的一个一个转换
}
printf("\n=======values========\n")
for (i=0i<ji ) printf("%lf\n",d[i]) // 输出这些数据
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)