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 你去試驗吧,下面的 肯定比你的想的要求還要好option explicit dim a as integer dim b as integer private sub command1 click text1.text text1.text command1.caption a a 10 comma... 樓上幾位的方案都可以實現傳值到另乙個窗體中,也可以考慮觀察者模式 不過這個有點麻煩 但如果需要用form1上的按鈕修改form2控制項中的內容,一般需要使用委託。否則會提示出錯。比如需要修改form2上乙個名為txtname 的textbox上的text,使用vs2008 在 form2類中的 如下... 1 使用檔案操作函式開啟檔案,讀取資訊,重新寫入並覆蓋原檔案,寫的時候當遇到需要合併的兩行時,忽略兩之間的換行符。2 例程 include include define k 5 合併第六行第七行file p 檔案指標 int i,j char a 1000 1000 int main p fopen... form1裡的command1 是 form2.show me.hide form2裡的command1 是 form1.show me.hide 在forml1 寫入 option explicit private sub command1 click me.hide form2.show end... 使用strcat函式可以進行字串連線。1 strcat用於將兩個char型別鏈結的函式。函式原型 extern char strcat char dest,char src 引數 dest 目標陣列指標 src 源字串指標 返回值 返回指向dest的指標 函式功能 把src所指字串新增到dest結尾...用vb實現兩個數相加的問題,用vb實現兩個數相加的問題
C 怎麼實現兩個Form窗體傳值
用c語言編寫程式實現將兩個有序的檔案進行合併,同時將生成的新檔案輸出到螢幕上
vb如何實現兩個視窗切換,VB兩個窗體之間如何切換
c語言如何實現兩個非常量的char字串連線