题解 | #参数解析#

参数解析

https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

#include <stdio.h>
#include <string.h>

int main() {
    char s[1001];
    while (fgets(s, sizeof(s), stdin) != NULL) {
        int len = strlen(s);
        char argument[500][100];
        int argc = 0;
        int inQuote = 0;
        char* temp = NULL;
        int tempIndex = 0;
        for (int i = 0; i < len; i++) {
            if (!inQuote && (s[i] != '"' && s[i] != ' ')) {
                temp = argument[argc];
                tempIndex = 0;
                while (i < len && s[i] != '"' && s[i] != ' ') {
                    temp[tempIndex++] = s[i++];
                }
                temp[tempIndex] = '\0';
                argc++;
            } else if (s[i] == '"') {
                temp = argument[argc];
                tempIndex = 0;
                i++;
                while(s[i] != '"' && i < len) {
                    temp[tempIndex++] = s[i++];
                }
                temp[tempIndex] = '\0';
                argc++;
                i++;
            } else if (s[i] == ' ') {
                continue;
            }
        }
        printf("%d\n", argc);
        for (int i = 0; i < argc; i++) {
            printf("%s\n", argument[i]);
        }
    }
    return 0;
}

全部评论

相关推荐

10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
头像
11-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务