题解 | #参数解析#
参数解析
https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677
#include <stdio.h> int main() { char cmd[20][1000] = {0}; int cmdCount = 0; int biao2Flag = 0; char ch = 0; int idx = 0; char lastch = 0; while(EOF != (ch = getchar())) { if(ch == '"') { if(biao2Flag == 0) { biao2Flag = 1; cmdCount++; idx = 0; } else //1 { biao2Flag = 0; } } else if(' ' == ch) { if(1 == biao2Flag) cmd[cmdCount][idx++] = ch; else if(0 == biao2Flag) { lastch = ch; } } else //ch is char { if(lastch == 0) { cmd[cmdCount][idx++] = ch; lastch = ch; } else if((lastch == ' ' && 0 == biao2Flag)) { cmdCount++; idx = 0; cmd[cmdCount][idx++] = ch; lastch = ch; } else { cmd[cmdCount][idx++] = ch; lastch = ch; } } } printf("%d\n",cmdCount+1); for(int i = 0; i <= cmdCount; i++) { printf("%s\n",cmd[i]); } return 0; }