用c 實現兩個字元陣列變數的交換。

時間 2023-03-22 20:40:09

1樓:匿名使用者

#include

#include

using namespace std;

void main()

;//這裡輸入的字元不要超過2個。

cin >>a;

cin >>b;

strcpy(c,a);

strcpy(a,b);

strcpy(b,c);

cout<

執行結果:

2樓:匿名使用者

首先你的陣列設定過短,a[2],b[2],分別只能輸入乙個字元,因為回車被轉換為結束符 '\0'

建議改為char a[80],b[80],c[80],c[80]; 這樣就不用擔心超過了。c[2]={的雙括號語法錯。

如初始化,可改為c[80]="abcdef";,80);,80);

這樣a,b各最多容納79的字元,太多也會錯。

如果是vc++ 以上,則第一句必須是#include ,因系統自動產生了這個標頭檔案,必須放第一句。

完整的如下:

#include ""

//以上第一句是vc++必須的。

#include

#include

#include

using namespace std;

int main()

3樓:忽忽上公升

string a; /你定義成string類吧string b;

string c;,2);

用c型別的字串需要多申請乙個字元記憶體,並在結尾新增字串終止符。像這樣處理。

char a[3];

a[3]='0';,2);

c++將2個字串陣列互換,為什麼不能這樣呀?

4樓:風若遠去何人留

型別不匹配。

對於字串,不能直接用=賦值, 而是必須用strcpy。

比如strcpy(temp,x);

strcpy(x,y);

strcpy(y,temp);

5樓:網友

首先,在c++中,char*本來不是物件,況且物件也涉及到深淺拷貝和運算子過載才能使用"="因此不太明白,題主的*x=*y,貌似只有第乙個字元發生賦值吧。建議看一下c/c++中指標和char*表示的意義和用法。

一種示例寫法:

swap(char* x,char* y)這樣就直接把x和y的內容進行了交換。

c++中如何用動態記憶體來完成兩個字元型陣列的交換

6樓:匿名使用者

如果是陣列的話。如果長度不一樣的話 不會越界嗎?

7樓:匿名使用者

交換?兩個陣列長度一樣還是不一樣呢?具體可以q我,421988849

問題描述清楚一點才能解決。

在c語言二維陣列中怎樣交換兩個陣列元素中的字串,請寫**.

c語言如何將二位字串陣列中的兩個元素交換位置

8樓:匿名使用者

#include

#include

void main() char buf[80];

strcpy(buf,s[0]);strcpy(s[0],s[1]);strcpy(s[1],buf); 類似於整數變數交換值。

printf("%s%s",s[0],s[1]);

c++自己寫乙個函式將兩個字元陣列相加

9樓:匿名使用者

錯誤的原因在於你函式的引數使用的是字元指標:char* add_str(char* a,char* b)。這樣子的話,當你傳乙個陣列名稱或字元指標作為引數的時候,你在裡面用下面兩句來測陣列長度:

int num1=(sizeof (a)/sizeof (a[0]))

int num2=(sizeof (b)/sizeof (b[0]))

不管你傳的a陣列和b陣列有幾個元素,測出來的永遠是指標型別的大小,而不是陣列的大小。所以會出錯。

所以,你應該用strlen函式來測a和b字串的大小。使用這個函式記得在程式的最開頭加標頭檔案:#include

【程式**】

#include//載入控制台標頭檔案。

#include//載入字串操作標頭檔案。

using namespace std;

char* add_str(char *a,char *b) /合併函式,沒毛病。

{int i; /迴圈變數只需乙個。

int num1=strlen(a); 測a字串長度。

int num2=strlen(b); 測b字串長度。

int num=num1+num2+1; /計算出新串的長度。

char *p=new char[num]; 開闢乙個新串。

for(i=0;i

c++中char型陣列的值如何進行交換

c++:設字元型陣列str和a中分別存放長度相同,內容不同的字串,程式設計實現將兩個字串中的內容交換,並輸

c++中 寫乙個swap函式 用來交換兩個不同大小的陣列, 怎麼用傳入指標實現?

10樓:匿名使用者

樓主,陣列是不能增加長度的,兩個不同大小的陣列,小的可以傳給大的,大的怎麼也放不下小的啊。你給多少分都沒人做得出來。

11樓:匿名使用者

樓上才子,賦值他的思想,都沒他快。

#include

using namespace std;

void swap(int** a, int** b)void main()

for(i=0;i>q[i];

}swap(&p,&q);

for(i=0;icout

用vb實現兩個數相加的問題,用vb實現兩個數相加的問題

你去試驗吧,下面的 肯定比你的想的要求還要好option explicit dim a as integer dim b as integer private sub command1 click text1.text text1.text command1.caption a a 10 comma...

C 怎麼實現兩個Form窗體傳值

樓上幾位的方案都可以實現傳值到另乙個窗體中,也可以考慮觀察者模式 不過這個有點麻煩 但如果需要用form1上的按鈕修改form2控制項中的內容,一般需要使用委託。否則會提示出錯。比如需要修改form2上乙個名為txtname 的textbox上的text,使用vs2008 在 form2類中的 如下...

用c語言編寫程式實現將兩個有序的檔案進行合併,同時將生成的新檔案輸出到螢幕上

1 使用檔案操作函式開啟檔案,讀取資訊,重新寫入並覆蓋原檔案,寫的時候當遇到需要合併的兩行時,忽略兩之間的換行符。2 例程 include include define k 5 合併第六行第七行file p 檔案指標 int i,j char a 1000 1000 int main p fopen...

vb如何實現兩個視窗切換,VB兩個窗體之間如何切換

form1裡的command1 是 form2.show me.hide form2裡的command1 是 form1.show me.hide 在forml1 寫入 option explicit private sub command1 click me.hide form2.show end...

c語言如何實現兩個非常量的char字串連線

使用strcat函式可以進行字串連線。1 strcat用於將兩個char型別鏈結的函式。函式原型 extern char strcat char dest,char src 引數 dest 目標陣列指標 src 源字串指標 返回值 返回指向dest的指標 函式功能 把src所指字串新增到dest結尾...