求助,C 中關於字元陣列用if語句判斷的乙個問題

2025-03-07 14:10:07 字數 4106 閱讀 6453

1樓:匿名使用者

因為ch只是乙個字元型的陣列,不能用==運算,字串。

型變數可以用< >等等運算子。

是因為#include函式中有針對字串過載運算子,而梁讓櫻字橡叢符陣列不能。如果想用字元陣列來判斷的話#include

#include

using namespace std;

int main()

string str="string型字串";

初始化string型字串的值。

char ch=char型字串"; 儲存乙個char型字串cout<>str;

if(str=="dog")

cout<<"狗:"if(!strcmp(ch,"pig"))cout<<"豬:"else cout<<"輸入錯誤"; return 0;}

2樓:匿名使用者

ch是乙個指向 常量字串 的指標,不是陣列,常量字串是不變的,修改的話就會報錯,輸入pig就是毀團運修改了常量區的字串,所以或寬報錯了字串的比較是不能直接用等於判斷的 (纖梁ch==「pig」),ch的位址是不等於「pig」的位址的。

用字串比較函式strcmp進行比較。

php如何使用if語句判斷乙個變數與陣列中某乙個字元匹配,陣列結構為(字元1,字元2,字元3,...)

3樓:網友

最簡單的方法使用內建函式in_array();

if(in_array($your_var,$your_array))

4樓:網友

$str;//這個是你說的變數。

array=array();//這個是你說的陣列foreach($array as $arr)}

c++裡的if語句能否用來判斷兩個字串是否相等?

5樓:匿名使用者

s[i].id == f[1].d

你這樣是比較這兩個字串的位址是否相同。

c風格字串,也就是0結尾字串的比較要藉助strcmp如果strcmp( s[i].id, f[1].d ) == 0則說明他們兩個相等。

你那樣做是不行的。

另外可以使用標準庫的string

#include

std::string a = "123";

std::string b = "123";

if ( a == b ) // 這裡就可以直接用==來比較了,因為string過載了==,以比較兩個字串的內容是否相同。

使用strcmp需要包含標頭檔案cstring或者。

6樓:匿名使用者

在c中是可以的,但是在c++中好像不行,我也不曉得,我印象中我一次c++實訓中就是出現你這種情況。換種方法吧,標頭檔案中加#include"",然後在if()括號裡的表示式為:strcmp(s[i].

id,f[1].d)==0

c++中怎樣判斷兩個字元型陣列元素相等?

7樓:狼道刀

直接用c++庫函式strcmp(char* a,char* b)就可以比較出兩字串是否相等,對於字元型陣列也是一樣的,只要分別帶入陣列位址就可以了。函式返回0 ,表示相等;大於0表示字串a大於字串b;反之小於則串a小於b。

而這裡的庫函式做的比較是一次比較字串中相同位置的單個字元的ascii得出的結果。你也可以自己用c++**實現這個比較,下面我隨便寫了乙個函式來單個單個的比較,只判斷是否相等,返回1(true)為相等,返回0(false)為不相等。

具體**如下:

char a=;

char b=;

bool function(char a,char b)

return 1;}

8樓:網友

是陣列的長度相等還是陣列的內容長度相等,還是內容相等??

內容相等用strcmp()函式就可以比較瞭如:char a = "the",b[10] = "the";

strcmp(a,b);//比較兩字串是否相同;

內容長度相等用strlen()分別得出兩字串的長度,然後比較長度。

char a = "the",b[10] = "the";

strlen(a) == strlen(b);//比較兩字串長度是否相同;

陣列的長度可以用sizeof來得到陣列的長度,然後比較長度;

char a = "the",b[10] = "the";

sizeof)a/(sizeof)char == (sizeof)b / (sizeof)char ;//比較兩字元陣列長度是否想偷。

9樓:匿名使用者

有兩個辦法:乙個使用for逐位元組去判斷:void comp(char *a,char *b) 另乙個是直接使用strcmp相等返回0

10樓:匿名使用者

用strcmp函式可以一步到位,自己編就要每個都去迴圈了。。

11樓:匿名使用者

函式名: strcmp

功 能: 串比較。

用 法: int strcmp(char *str1, char *str2);

看asic碼,str1>str2,返回值 > 0;兩串相等,返回0程式例:

#include

#include

int main(void)

12樓:網友

char a,b;

if(a == b) |a > b ||a < b

比較時按照asic碼錶裡面的值來比較的。

怎麼在c語言的if條件語句中判斷某乙個字元是否為@或#

13樓:天雨下凡

if(a=='@')..

或if(a=='#

a為要判斷的char型變數。

c++裡面能用if條件句來判斷字串嗎?我的部分程式在下面

14樓:網友

可以。不過這段**可以再精簡下。比如說當複合條件時將下注金額翻倍的時候,既然倍率只使用一次,那麼完全可以都用數字常量替代。還有。十五是fifteen

c語言如何用if語句判斷陣列是否為空字元

15樓:金色潛鳥

for(n=2;n<=25,n++)逗號要改為分號。

char a[5][5]; 或 int a[5][5]; 放到 main() 以前,處理為全域性量,編譯時會初始化為0。(若作區域性量,未賦值時,元素的值不是0,不是null,不是'\0'。難以判斷是否為「空」)

16樓:冰是沉默的水

if(a[x][y]==0') 是判斷陣列是否到了末尾,空,null,巨集定義為0

物聯網校企聯盟技術部。

17樓:匿名使用者

請樓主發詳細**?這樣看看不出什麼的!

18樓:網友

這樣判斷無問題,可能是x,y超界。

a是char型嗎。

c語言設計 輸入一組字元陣列,要求統計其中的字元,空格,數字,和其它。要求利用if語句判斷陣列的各

19樓:網友

#include

int main()

int i;

int num,asc,space,other;

num=asc=space=other=0;

printf("請輸入字串:");

gets(c);

for(i=0;c[i];i++)

printf("字母:%d數字:%d空格:%d其他:%d",asc,num,space,other);

return 0;

c++求助!在主函式中輸入一字串 ,在被調函式中判斷該字串是否是迴文字串,是則返回ture,否則返回fals

20樓:0o莫小奈

暈,本來想和你分享一下我的答案的,可是每次給你回了後半部分就平白無故消失。。算了。。。前面兩個解答得挺不錯了。。。= =

C 中字元陣列0是什麼意思,在C 中字元陣列和字串有什麼區別

在c 中,只有數值在128以內的部分ascii碼char才能被顯示出來 char a 0 0 的ascii碼為48小於128是可以被顯示出來的,並且顯示為0 用單引號的寫法是由編譯器來幫你做字元轉換的,即把 0 轉換成了48放在一個char變數裡 char a 48 實際上我們可以這麼寫,同樣可以達...

關於陣列中的0(反斜槓零)問題,關於C語言字元陣列的賦值最後自動新增 0 問題

1全部char p abcd 這後面就自動加 0 char p abcd 這後面自動加 0 char p 4 abcd 這個就有問題了,因為其實你只能在p中放三個字元。這個 0 是要你自己加上去的 是否賦值為0這要由編譯器決定,不過現在的編譯器基本都做到這點了.但好的風格是這樣 int a 5 這樣...

c中如何把陣列作為引數,c中關於陣列作為函式引數的幾種方法

對於陣列 名作為參bai數傳遞,有兩種方du式zhi 1.使用陣列名本身,如以下程式求dao陣列a的最專大值 include int max int x,int n 作為陣列定義形屬式2.用指標作為引數,這就簡單了,如 int max int x,int n 作為陣列定義形式int main voi...