题解 | #参数解析#

参数解析

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;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务