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...