题解 | #参数解析#
参数解析
https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677
#include <stdio.h>
#include "string.h"
int main() {
char str[1001];
while (scanf("%[^\n]s", str)!=EOF) {
getchar(); //讀取掉緩衝區內未讀入的'\n'符號,否則會一直while中讀取,值未讀到EOF
// printf("%s", str);
char parameter[1000][1001];
int i=0,j=0,k, len=strlen(str), flag=0;
for (k=0; k<=len; k++) {
if (str[k]==' ' && flag==0) {
parameter[i][j]='\0';
i++;
j=0;
}
else if (str[k]==' ' && flag==1) {
parameter[i][j++]=str[k];
}
else if (str[k]=='"' && flag==0) {
flag=1; continue;
}
else if (str[k]=='"' && flag==1) {
flag=0; continue;
}
else {
parameter[i][j++] = str[k];
}
}
printf("%d\n", i+1);
for (k=0; k<=i; k++) {
printf("%s\n", parameter[k]);
}
}
return 0;
}

