C primer plus 第六版 第十一章 第三題 程式設計練習答案
阿新 • • 發佈:2018-12-28
Github地址:φ(>ω<*)這裡這裡。
/*
本次任務為設計並測試一個函式,要求從輸入行中把一個單詞讀入陣列,並丟棄剩餘字元。
該函式要跳過第一個非空白字元前面的所有空白。
將一個單詞定義為沒有空白、制符表或換行符的字元序列。
ps:說白了不就建立一個數組,獲取一個單詞並存入,然後清空緩衝區唄。
*/
#include<stdio.h> #define o 100 void get(char name[o]); int main(void) { char name[o] = {}; printf("Please input(Only first word can be save):\n"); get(name); puts(name); putchar('\n'); printf("Bye ~\n"); getchar(); return 0; } void get(char name[o]) { int i = 0; // 獲取輸入。 while( (name[i] = getchar()) != NULL ) { if(i > o || name[i] == '\n' || name[i] == ' ' ) { name[i] = '\0'; fflush(stdin); // 這個就是丟棄剩餘輸入(清空輸入緩衝區)。。。簡單方便。。 break; } i++; } return; }