c 語言連續輸入字符型數據


 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 
 4 void Input1(char* &str){  //
 5     /*
 6             這種情況下想要逐個輸入字符串數組,那么在每次輸入一個元素后不要加空格或者按回車,
 7         否則不可見的空格符和換行符也會被記錄
 8     */
 9     for(int i=0;i<5;i++){
10         scanf("%c",&str[i]);
11     }
12 }
13 
14 void Input2(char* &str){
15     /*這種情況下就可以在輸入一個元素按下空格鍵或者回車鍵,輸出結果依然是正常的*/
16     for(int i=0;i<5;i++){
17         scanf(" %c",&str[i]);
18     }
19 }
20 
21 void Input3(char* &str){
22     /*這種情況下就可以在輸入一個元素按下空格鍵或者回車鍵,輸出結果依然是正常的*/
23     for(int i=0;i<5;i++){
24         scanf(" %c",&str[i]);
25         getchar(); //用以接收不可見字符
26     }
27 }
28 
29 
30 int main()
31 {
32     char *str;
33     /*
34             對字符串數組進行初始化(物理存儲空間的申請),
35         否則在后面用到的 char *&str 指針引用會報錯
36     */
37     str = (char*)malloc(5*sizeof(char));
38     //Input1(str);
39     //Input2(str);
40     Input3(str);
41     for(int j=0;j<5;j++){
42 
43         printf("%c ",str[j]);
44     }
45     return 0;
46 }

Input1輸入輸出結果:

連續輸入輸出正常

帶有空格的輸入輸出不正常

Input2輸入輸出結果:

Input3輸入輸出結果:

相關百度問答:

https://zhidao.baidu.com/question/510517719.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM