1樓:
樓上正解 m=sizeof(a);
n=sizeof(b);
2樓:匿名使用者
話說,一個函式就搞定的strcpm(str1,str2);你這麼麻煩還。
而且你的程式有問題。先從開始說,你在函式引數傳引數的時候,就做了不必要的拷貝浪費了記憶體
bool if_prn_same(int* a,int* b)這樣傳地址就能省記憶體。在說程式的邏輯部分,你那個迴圈是在幹嘛啊大哥!為什麼要巢狀迴圈呢?
你再想想,比較兩個字串是不是這兩個字串的字元個數相等是前提呢?那為什麼不在迴圈中比較a[i]和b[i]呢?還巢狀迴圈導致錯誤了。
3樓:匿名使用者
#include
using namespace std;
bool if_prn_same(int a, int x, int b, int y); //判斷兩陣列對應的元素(無重複是否全部相同)
int main(void)
;int b = ;
int x = sizeof(a) / sizeof(int);
int y = sizeof(b) / sizeof(int);
bool work = if_prn_same(a, x, b, y);
cout << x << endl;
cout << y << endl;
if (work)
else
return 0;
}//判斷兩陣列對應的元素(無重複是否全部相同)bool if_prn_same(int a, int x, int b, int y)
}return true;
}else
}return true;}}
c++怎樣將一維陣列整體賦相同初值
4樓:加百列
陣列是不可以整體賦值的,只能在陣列定義的時候初始化。
一、一維陣列初始化如下:
二、二維陣列初始化如下:
二、多維陣列初始化如下:
5樓:
c/c++不支援陣列整體賦值,可以在宣告陣列時整體初始化。無論陣列有多大,全部初始化為0的操作很簡單,如int a[3000]=;就可以將a的3000個元素全部置0;若要賦其他值,例如全部賦值為7,寫成int a[3000]=;則不行,這隻給a[0]賦值為7,其餘的都是0。在陣列長度較小時,可直接寫入資料初始化,如int a[5]=;,若陣列太長,如前述a[3000],寫3000個數顯然是不現實的。
遇到這種情況,可以定義一個帶引數的巨集來簡化初始化的書寫,例如要把a[3000]全部初始化為9,可用以下**:
//#include "stdafx.h"//if the vc++6.0, with this line.
#include "stdio.h"
#define x(x) x,x,x,x,x,x,x,x,x,x//帶引數的巨集,x是預賦之值
int main(void);//以賦9為例
printf("%d %d %d\n",a[0],a[1499],a[2999]);//打幾個出來看看...
return 0;}
6樓:
第一:使用for迴圈賦值;
第二:使用memset函式進行賦值; 但是使用memset對非字元型陣列賦值有可能會出問題;
比如:int array1[200];
int val=2;
memset(array1,val,200*sizeof(int));
這樣的結果必然會出錯!因為memset是以位元組為單位進行賦值的,最後陣列的結果可預知,但是完全錯誤……如果是對字元陣列用這樣的方式進行賦值的話就不會出錯,因為字元只佔一個位元組,而int佔四個位元組……
7樓:
用memset函式,引數是陣列指標!可參照memset函式說明!
8樓:匿名使用者
int array1[200];
int val=2;
memset(array1,val,200);
呵呵!4樓對了,很久沒有忘了sizeof(int)*200不過還是做個迴圈比較清晰
for(int i=0;i<200;i++)array1[i]=val;
9樓:悠哉芸
int a[n]=
這樣可以嗎?
10樓:匿名使用者
可一試一下memset函式
(c++)編寫函式模板,從一維陣列中查詢值為給定值的元素。若查詢成功則返回真
11樓:匿名使用者
我寫了個**:
#include
template
t process(t x,t a,t n)//其中x為要查詢的數,a為目標陣列,n為陣列的大小
int main()
;printf("%s\n",process(10,a,5)==true?"true":"false");
return 0;}
12樓:高金山
#include
using namespace std;
template
bool find(t a,int n,t b)
13樓:
//n為陣列元素的個數,m為要查詢的數(double),arr是陣列(double)
bool find()
c語言中判斷兩個陣列內容是否相同
墨汁諾 c語言有個函式memcmp是用來進行記憶體比較的extern intmemcmp void buf1,void buf2,unsigned intcount if 0 memcmp id,id1,20 id1等於id2 先要明確運算子按優先順序不同分類,c程式設計 運算子可分為15種優先順序...
c語言中如何判斷兩個char型的陣列是否相同
為什麼用strcmp比較出來是不相等,難道你的a,b不是字串,而是分別有10個字元把陣列佔滿了,那樣的話strcmp肯定不能用的,strcmp只能針對字串. 使用 0 啊,即先用長度函式 不好意思我不記得拼寫了 判斷兩者長度,長度相同時,求出長度n,此處n 1。然後a 1 0 b 1 0 意思即是a...
求c語言程式,把兩個陣列內的相應元素相加,結果儲存到陣列內
愛夜 include void add int num1,int num2,int result,int lenth void show array int num,int lenth void main int num2 int num3 5 int lenth 5 add num1,num2,n...