可改變數組大小,滿足你可能的輸入狀況。
#include<stdio.h>
intmain(){
charstr[200];//假定輸入1行字符串,長度在200以內
chars[20][16];//假定用逗號分隔的部分約20個,每個長度不超過16字符
doubled[20];//假定數據個數不超過20個
inti,j=0,L,n=0;
fgets(str,200,stdin);//讀入一行字符串,含換行符
L=strlen(str);//計算輸入的字符串長度
for(i=0;i<L;i++){
s[n][j]=str[i];j++;
if(str[i]==','||str[i]=='\n'){s[n][j-1]='\0';j=0;n++;}//取出逗號分隔開的字符串
}
for(i=0;i<n;i++)printf("%s\n",s[i]);//輸出這些分開的字符串
j=0;
for(i=0;i<n;i++){
if(sscanf(s[i],"%lf",&d[j])==1)j++;//能轉換為數的一個一個轉換
}
printf("\n=======values========\n");
for(i=0;i<j;i++)printf("%lf\n",d[i]);//輸出這些數據
return0;
}