题解 | #参数解析#
参数解析
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; }