2013-03-31 90 views
-4

我目前正在嘗試使用getchar()來計算一個數字的位數。getchar()函數

如果我用getchar(條件不計算點或逗號)和我把一個像345.234這樣的數字它是否像3-4-5-2-3-4一樣計數6或者它是否計數爲4像34 -5-23-4?

i=0 
while((c=getchar())!=',' && c!=EOF) 
i++; 

簡單的問題 多少指望它 345.234和CTRL + Z輸入一下子 是否算4 或不抱太大希望6

+1

顯示你的代碼。 – Beginner

+1

你爲什麼不自己嘗試一下? –

+1

請發佈您的代碼。 – Farseer

回答

1

i將遞增每次調用getchar()只要不是EOF','被返回。

如果您輸入345.234,然後按Ctrl-Z,當離開while循環時,這將導致7的值爲i

3個數字+1個點+3個數字= 7個字符。

+0

所以它沒有得到34,5,23,4。這就是我想知道的。 – Lind

+0

@Lind:再一次,出於好奇:你如何得到這個想法可以將兩個字符作爲一個整數? – alk

+0

因爲字符最多可能需要127,我認爲它可能會得到34而不是3,4。看來我錯了。 – Lind

0

也許

#include <stdio.h> 

int main(){ 
    int i=0,c; 
    while(EOF!=(c=getchar())){ 
     if(c != ',' && c != '.' && c!= '\n') 
      ++i; 
    } 
    printf("number count is %d\n", i); 
    return 0; 
}