C scanf 函式如何只讀取字串的第乙個字元

發布 科技 2024-06-25
16個回答
  1. 匿名使用者2024-01-29

    你如何寫輸入控制字串。

    目標??? 鍵入 yes

    char array[4];定義長度為 4 的字串。

    scanf("%s",array);%s 輸出字串控制器。 陣列最初是乙個位址。

    就是這樣。 char yon;

    scanf("%c",&yon);

    if(yon==89||yon==121),因此當輸入 yes 時 if 為 true。

    這個程式只能輸入乙個字元,不能輸入字串yes,yes要占用3個字元的空間,乙個yon變數不能容納]。

    希望

  2. 匿名使用者2024-01-28

    帶字元

    a[10];,則 a 是指向陣列第乙個元素的指標,a 是指向陣列的指標; 因為指向一維陣列的第乙個元素的指標與指向此陣列的指標的位址相同,所以區別在於 a+1 指向 a[1],而 &a+1 指向 a[10](此處超出界)。 但是&a和a's"價值"是一樣的,只是型別不同。 當 c 呼叫該函式時,引數的型別被強制為引數的型別 scanf("%s", a) 或 scanf ("%s", a) 要求引數為 char

    至於型別指標,&a 是 char 儘管如此

    型別,但被強制轉換為 char

    形狀。。。。。。

  3. 匿名使用者2024-01-27

    你現在這樣寫 yes 也是真的,但如果你不希望它保留在輸入緩衝區中,你可以這樣寫它:

    char yon;

    scanf("%c",&yon);

    fflush(stdin);

    if( you=='y' ||yon=='y' )

  4. 匿名使用者2024-01-26

    你定義 char y 嗎? 這肯定是乙個字元,並且將定義乙個字元陣列。

  5. 匿名使用者2024-01-25

    這是乙個字元,而不是字串。

  6. 匿名使用者2024-01-24

    使用 scanf(%s, &flag) 應該會出現溢位錯誤。

    我已經很久沒有c了,所以我會幫你下來。

  7. 匿名使用者2024-01-23

    預設的scanf回車符和空格是不同組之間的間隔和結束符號,所以不能輸入帶空格的字串,建議使用gets來完成這個功能,gets是以回車符結束的:

    char str[40]; gets(str);

  8. 匿名使用者2024-01-22

    字串並不意味著專門用於讀取字串,因此建議您需要使用字串讀取資料,字串可以用作標頭。

    使用 char * gets(char *) 讀取 使用 char *puts(char *) 輸出。

    可以使用更安全的:

    使用 char * fgets(char *,int,stdin) 輸出 char * fputs(char *,int,stdout) 讀入。

    scanf() 停止讀取空格,但不會丟棄資料。

  9. 匿名使用者2024-01-21

    #include

    #include

    int main()

    k=i;k 是字串的長度。

    for(i=k-1;i>=0;i--) string 輸出 printf("%c",para[i]);

    printf("");

    return 0;

    試試上面**,我已經除錯好了。

  10. 匿名使用者2024-01-20

    scanf("%c",para);這個位置應該是迴圈的。

  11. 匿名使用者2024-01-19

    乙個迴圈被解決,

  12. 匿名使用者2024-01-18

    老大哥'\0'例如,您可以將其更改為其他內容''另外,看看你for後面的分號,編譯執行弟弟給的**。

    #include

    intmain()

    沒錯,但如果你也想讀取返回結果,只需使用 eof,並記住以 ctrl+c 結尾。

  13. 匿名使用者2024-01-17

    第乙個錯誤:for後面的分號。

    第二個錯誤:string[i]!,在為 string[i] 賦值之前。='\0'條件是常數,相當於乙個無限迴圈。

    可以將其更改為 do--while()。

    dowhile(i<100&&

    string[i-1]!='\0');

  14. 匿名使用者2024-01-16

    scanf("%2x",&a[0]);

    它可以以兩位數的寬度讀取。

    printf("%d",a[0]);以十進位系統查詢並列印它。

  15. 匿名使用者2024-01-15

    在 scanf 函式中,可以使用 %c 讀取字元,使用 %s 讀取字串,但讀取字串時不要忽略空格,讀取字串時不要忽略起始空格,最多讀取空格,因此只能讀取乙個單詞,而不能讀取整行字串。

    事實上,scanf 函式也可以做到這一點,而且功能更強大。 這裡有乙個引數,[這個引數的意思是讀進一組字元。 [ 是乙個集合的符號,所以 %[ 特指那些讀入該集合的字元,例如 %[a-z] 是輸入大寫字母,遇到不在這個集合中的字元時會停止。

    如果集合的第乙個字元是"^",這意味著讀取不存在"^"遇到後乙個字元集合"^"以下集合的字元停止。 請注意,字串可以包含空格,並且還將讀取字串的開頭。

  16. 匿名使用者2024-01-14

    int i,j,m;

    scanf("%d%d%d",&i,&j,&m);

    int a = ;

    for(int k = 0; k < 3; k++)printf("%d",a[k]);

    只需將輸入的數字放入陣列中,就不會有空格字元。

相關回答
14個回答2024-06-25

<>因為你的格式化控制項是%dspace%dspace,所以在第一種情況下,也應該有1個空格和2個空格,否則直接按回車鍵,回車鍵就存放在空格中,這樣不會結束語句,而是等待輸入。 更正:刪除了第二個空格。

23個回答2024-06-25

這個想法沒有錯。 估計是檔名長度問題。 如果使用的是早期構建平台,則檔案主名稱不應超過 8 個字元,副檔名不應超過 3 個字元。 *DAT很好......

18個回答2024-06-25

假設 scanf("%f%e",&a,&y);它應該是 scanf("%f%e",&x,&y); >>>More

13個回答2024-06-25

使用 scanf 和 printf 函式時,請新增 include。 其中 scanf() 是格式輸入函式,printf() 是格式輸出函式。 >>>More

14個回答2024-06-25

你能說清楚嗎,我不知道你的意思。 是否要在 main 函式中呼叫乙個函式,然後不知道如何定義被呼叫的函式? 如果是這樣的話,我可以告訴你。 >>>More