if strcmp a,b0 break為什麼錯了

2021-04-25 22:42:16 字數 3159 閱讀 7423

1樓:

有好多問題a 只是指標 沒有指向正確的空間。

應該定義成 char a[20];

另外 scanf("%s",&a);對於指回針a不應該再用&a作為引數答,對於陣列a 這麼寫,木有執行錯誤。正確的應該是scanf("%s",a);

你比較始終不對是因為輸入的內容木有正確的寫入到a。

2樓:雁凌飛飛

a和b必須要以『\0』結尾,兄弟

請問c++中 if(!strcmp(a,b)) 中的!strcmp代表什麼意思

3樓:匿名使用者

當s1,返回值<0

當s1=s2時,返回值=0

當s1>s2時,返回值》0

所以,當a和b相等時strcmp(a,b)返回0,那麼!strcmp(a,b)就是1了,

也就是說,當a和b相等的時候執行if下面的語句,如果a和b不等,不執行if下面的語句

4樓:

! -- 邏輯非運算子。

strcmp(a,b) -- 字串比較函式。當 a字串和 b字串 一樣時,函式返回 0。

邏輯運算中,0為假,非0 為真。

!假 得真。!真 得假。

if(!strcmp(a,b))else;

當 a字串和 b字串 一樣時 ,函式返回 0,也就是 假,!假 得真,

所以 當 a字串和 b字串 一樣時, 執行 ,不一樣時 執行else;

5樓:匿名使用者

strcmp是乙個函式,表示字串比較(字典序),該函式返回<0 如果字串a在b之前

=0 如果a和b相等

>0 如果a在b之後

if(!strcmp(a,b))等價於if(strcmp(a,b)==0),即若a,b兩字串相等。

希望這個答案對你有用

6樓:匿名使用者

字串函式- strcmp

原型:extern int strcmp(char *s1,char * s2);

用法:#include

功能:比較字串s1和s2。

說明:當s1值

<0當s1=s2時,返回值=0

當s1>s2時,返回值》0

舉例:// strcmp.c

#include

#include

main()

c語言中,if(strcmp(,「 」)==0)是什麼意思??

7樓:

strcmp(a, b)這是乙個字串比較函式,

如果a的字串內容與b的字串內容相同的話,strcmp == 0

8樓:天雨下凡

strcmp(stu[i].***,"男"),就是比較stu[i].***的內容是否是"男",如果是,就返回0

c語言中 !strcmp(a,b)是什麼意思?注意有個感嘆號!

9樓:匿名使用者

簡單的說就是:

strcmp是個比較函式,用法就是a>b返回1,a非,即把0變成1,非0變成0;

假設a=5,b=4

那麼a>b,返回結果為1,取非之後為0,既為假.就不會執行下面的break語句。

假設a=4,b=5

結果為a

只有當a和b相等時,才會執行break語句,既跳出語句。

比如a=5,b=5時。

a == b,strcmp的返回值穩定為0,取非之後為1,if判斷為真,就開始執行break語句

10樓:匿名使用者

比較 a b 字串,若 a b 字串相等,則 !運算後返回 1 ;

若 a < b 或 a>b ,則返回 0;

11樓:匿名使用者

a串和b串相等(本來相等是0為假,!以後就成真了)

c語言........誰知道if(strcmp(a,b)>0) 是什麼意思!謝謝了!

12樓:匿名使用者

比較兩個字串:

字串a是否大於字串b

那麼怎麼比較呢,我來舉幾個例子,我不講記憶體的方法,你會不理解,我就舉幾個形象的例子。

1. a = 「abcd\0」 b = 「abce\0」 那麼 a < b, 因為其中'd' < 'e'

2. a = 「abcd\0」 b = 「abc\0」 那麼 a > b. 因為其中 'd' > '\0',也就是a字串長度比較長。

3. a = 「abcd\0」 b = 「abcd\0」那麼 a = b.因為比較到'\0'為止他們都是相等的。

if(strcmp(nm,p[i].num)==0)是什麼意思

13樓:流星

nm是個字串指標或者字元陣列

p 是個結構體陣列,這個結構體裡有個成員叫num,型別為字串指標或字元陣列。

整句作用就是 判斷 字串nm和字串p[i].num是否相等

14樓:匿名使用者

strcmp(比較字串)

相關函式 bcmp,memcmp,strcasecmp,strncasecmp,strcoll

表頭檔案 #include

定義函式 int strcmp(const char *s1,const char *s2);

函式說明 strcmp()用來比較引數s1和s2字串。

回字串大小的比較是以答ascii 碼表上的順序來決定,此順序亦為字元的值。strcmp()首先將s1第乙個字元值減去s2第乙個字元值,若差值為0則再繼續比較下個字元,若差值不為0則將差值返回。例如字串"ac"和"ba"比較則會返回字元"a"(65)和'b'(98)的差值(-33)。

返回值 若引數s1和s2字串相同則返回0。s1若大於s2則返回大於0的值。s1若小於s2則返回小於0 的值。

15樓:匿名使用者

請問你這裡的nm和p[i].num表示的是什麼?

strcmp 的作用是比較字串s1和s2。

說明:當s1s2時,返回值》0

0為什麼不等於0而是等於1呢,0!為什麼要定義為等於1?

0!1 是規定好的,是為了有關的算式能夠更好計算。望採納 這個是數學家規定的 0的階乘為1 1的階乘為1 後面的按照階乘的計算方法進行計算。人為規定的初始值,其實也可以規定為0,但那樣後續的階乘就不好算了,可以看看下面的摘抄 1 1,1!1 0 所以0 1 0!為什麼要定義為等於1?1的階乘是1,這...

0的階乘為什麼等於,0的階乘為什麼等於

從階乘的定義出發。從階乘表示式n!n n 1 中,知道乙個數的階乘是遞推定義的。比如要計算乙個任意的整數m的階乘,我們就把m作為初值,計算m m m 1 同樣的,當m l時,m!1 1 0 1,取等式中最後乙個等號的兩邊,即1 0 1,這個等式兩邊同時約去1,就得到如下結果 0 1。階乘的計算方法是...

為什麼0乘以任何數都等於,為什麼0乘以任何數都等於0?

零乘以任何數等於零,基數是0倍數是5,意思是說0在反 了5倍的情況下,因為0代表什麼都沒有,什麼都沒有的情況下反了5倍,代表什麼都沒有.任何數乘以零等於零,基數是5倍數是0,意思是說5在反了0倍的情況下,因為5是個實體,就是說,5這個數量是存在的實數,也就是說5在反了0倍的情況下還是5.所以說零乘以...