c語言 判斷數值為空 的問題,c語言問題求教 利用函式判斷字串中是否全為數字

2022-03-03 15:28:34 字數 1774 閱讀 8232

1樓:斯坦恩貝格(北京)電子****

c語言中不存在空值的情況,所謂的null是人為(或某些編譯器)定義的一個常量,常見的是 #define null (0)的情況,而這個0只是賦給一個指標,即讓指標初始化為記憶體的0地址,我們稱其為空地址(或指標值為空),但實際上,c語言中所有的變數都是儲存到記憶體中的,其值就是其所在記憶體單元中儲存的一個數,而記憶體單元中只要上電,就一定會存在資料(隨機數,或特定的資料)。我們不能稱值為0的變數為空,因為0也是一個資料。

2樓:世鑲柳

if(a[0] == null) ...

一般來說不要這麼寫,因為null一般代表指標的含義,用0代替null。

3樓:手機使用者

int型a[0]應該不可能為空,如果你不給它賦值,那在用到它時,系統將給它賦隨機值

c語言輸入函式scanf判斷輸入是否為數值問題!

4樓:

scanf()函式返回成功賦值的資料項數,讀到檔案末尾出錯時則返回eof。

如:scanf("%d %d",&a,&b);

如果a和b都被成功讀入,那麼scanf的返回值就是2如果只有a被成功讀入,返回值為1

如果a和b都未被成功讀入,返回值為0

如果遇到錯誤或遇到end of file,返回值為eof。

且返回值為int型.

5樓:匿名使用者

「這是不是判斷輸入的是否為數值,如果是就繼續迴圈輸入,一直到輸入非數值!」:是的。

「scanf 是怎麼判斷輸入是否為數值的?」:通過判斷輸入值是否和佔位符型別匹配判斷,如果匹配,返回匹配個數,不匹配,則函式結束,後面的佔位符也不再判斷。

當然你這裡只有一個佔位符「%lf」,就只有0,1兩種返回方案。

「是scanf的返回值嗎?」:返回值是輸入值和佔位符匹配決定的。

「那如果換成%s%c時輸入字元他是不是也和輸入數值時一樣會判斷是否為字元,如果輸入的不是字元也和上面一樣就停止了呢?」:原理上是這樣,但是佔位符為「%s」時,你可以輸入任意字元,因為你鍵盤上輸入的任意字元都可以被匹配為「%s」,一串數字也可以是字串。

c語言程式設計問題,這個程式是判斷素數的,但是輸入2以上的數字全判斷是素數,為什麼?

6樓:

if(a%i==0)}

7樓:匿名使用者

if(a==2) //此處多個分號,去掉就好了

c語言程式設計問題:判斷輸入字元是否為數字字元中if(c>='0'&&c<='9')為什麼不能寫成if

8樓:匿名使用者

'0'<=c<='9'

根據運算子結合性可知等效於

('0'<=c)<='9'

杜宇子表示式'0'<=c,其結果不是真(1)就是假(0)故,表示式整體必然為真

9樓:匿名使用者

沒有這樣的語法。你這樣寫編譯器理解不了你的意思。

10樓:匿名使用者

沒有這種寫法,這是規則,要遵守的

c語言問題求教 利用函式判斷字串中是否全為數字

11樓:子夜聞雪

你這都搞不清a和a[n]的區別,一個是char*,一個是char。主函式裡呼叫isnumber傳引數改為a,isnumber函式定義時,括號裡面引數改為char *a,還有strlen(a)求字串長度。

c語言問題,C語言問題C語言問題

沒有縮排,看來比較累 但是輸入一串字元以後要輸入結束標誌eof表示你的輸入結束了 如果你是unix,就用ctrl d,dos就用ctrl z include define maxline 1000 maximum input line length int getline char line,int...

c語言問題,C語言問題C語言問題

把檔案中所有逗號用空格替換。把if fp fopen goods.dat rb null 改成fp fopen goods.dat r null 把 feof fp 換成 0。把 一行刪除。以上3 4也可以在while前新增一行 解決 把printf s,2s,d,d n name,price,in...

c語言的問題,c語言問題?

include stdio.h int main int sum 0,i for i 2 i 100 i i 2 sum sum i return 0 include stdio.h include string.h int main char s1 6 char s2 6 int i printf...