簡體   English   中英

指針和字符

[英]Pointer and Character

我的代碼是用來獲取分開的數字,事情是我已經看過很多教程,我不明白為什么它在我設置時運行:

p = "123 23 32"
out>>
123
23
32
0
0

但是當我設置它等於字符數組它只找到第一個數字,事件雖然我“走”到p指針:

#include<stdio.h>
int main()
{
    int N, i=0, NUMERO = 1, FINAL = 0;
    char ORDEM[100000], *p = ORDEM;

    scanf("%s", ORDEM);
    p = ORDEM;

    for(i = 0; i<5; i = i + 1)
    {
        printf("%d\n", atoi(p));
        while (*p != ' ') p++;
        if (*p == ' ') p++;
        if (*p == '\0') break;
    }
return 0;
}
scanf("%s", ORDEM);

scanf()按空格字符分隔。 因此, ORDEM在您的測試用例中僅包含"123"

要讀取整行,您應該調用fgets()

fgets(ORDEM, 100000, stdin);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM