請教很簡單的C 程式,請教一個很簡單的C 程式。

2022-05-22 12:55:22 字數 2661 閱讀 6451

1樓:匿名使用者

至少存在2處錯誤:

1.s1=(char *) malloc (size); 這句表示式重新對s1賦值(被系統賦給一個隨機的地址值),因此,最後主函式中傳入的實參指向了一個隨機的字元首地址,也就是開始處的亂碼字元(這段亂碼字元的長度恰好是s1的長度)。

2.沒有對s1進行字串尾的處理,應該賦值'\0'。否則系統隨機指定'\0'給s1的某一位置,因此後面必然是一串亂碼。

建議改正為:

1.去掉s1=(char *) malloc (size); 這一行2.return s1;前面加上s1[i] = '\0';

2樓:匿名使用者

請按如下進行子函式修改

char *rets=null ; //新增一個變數,不能用s1,否則會丟失原來s1中的內容。

rets=(char *) malloc (size);

//先將s1存到rets

while(*s1)

//繼續將s2追加到rets後面

while(*s2)

rets[j]='\0'; //增加串結束符return rets;

3樓:匿名使用者

#include

#include

#include

using namespace std;

char* strrev(char* s1,const char* s2)

int main()

4樓:

第一,如果你想手動分配記憶體的話,那麼你得將主函式中的s1用 char*而不是一個字元陣列。

第二,你的malloc函式用的不對,應該用realloc第三,你應該在字串最後加上字串結束符0第四,出現 屯屯 肯定是因為那塊記憶體沒有定義你先把這些改了再看看吧。

5樓:匿名使用者

當你malloc的時候,s1已經被指向了你新開闢的記憶體塊。所以「abcd」處顯示別的東西。

正確的做法是申請記憶體塊,把s1和s2依次放進去,然後返回新的記憶體塊地址。

6樓:good_曌曌

找到問題了!

你s1重新申請了大的空間,但是沒有把原來的s1裡面的值附進去。

解決辦法:在函式裡重新定義char* s3,讓s3申請新空間,再把s1,s2的值複製進去。

for(int k=0;k

7樓:匿名使用者

字串以'\0'結尾,沒有這個結束標誌符的話,輸出會出亂碼的

請教一個簡單的c++程式

8樓:匿名使用者

我沒有vs環境,在別的編譯器編譯通過了,你再試試#include

using namespace std;

class box

;//靜態變數必須初始化才能使用!相當於宣告一個全域性變數int box::height = 0;

void box::set_box()

void box::set_heigth()int box::volume()

int main()

return 0;}

9樓:滄海雄風

cin>>k;

box box[k]; 這裡陣列的話 要動態陣列

10樓:咖啡__心情

/* int i;for(i=0;i

/* void box::display()*/

是不是因為這兩個地方用了註釋。

一個c++簡單程式的源**

11樓:匿名使用者

#include

#include

using namespace std;

void main()

while(c<=0);

c=sqrt(c);

cout<<"此數的平方根為"<>a;

cout<<"請輸入b的值=";

cin>>b;

cout<<"請輸入c的值=";

cin>>c;

x1=(-b+sqrt(b*b-4*a*c))/(2*a);

x2=(-b-sqrt(b*b-4*a*c))/(2*a);

if (b*b-4*a*c<0)

else

}else

else}}

}希望對你有所幫助。

12樓:匿名使用者

#include

int main()

上面是一個很簡單的程式,希望你能夠從中有所領悟。加油啊!

13樓:匿名使用者

#include

int main()

上面是輸出一行文字。

14樓:匿名使用者

這個是遊戲挑顏色用的

#include

#include

using namespace std;

void colour(int a)

int main()

while(check!=0)

if(check==0)}}

請教一句簡單的英語翻譯,請教英語達人一個簡單的英語句子翻譯,謝謝

dare someone to do sth估計某人不敢 或沒有能力 做某事,激某人做某事 dare to be 敢於做 dare do sth 敢於做 we dare not tempt them with weakness.我們不敢以怯弱來專引誘他們。dare在這裡作情態動詞,屬類似must,m...

很簡單的vb小程式,高手快來啊,很簡單的一個vb小程式,高手快來啊!

窗體加一個文字框。if text1.text z1z1z1z1 thenmsgbox 密碼正確 shell c program files cs1.6 cstrike.exe unload me else msgbox 密碼錯誤 text1.text end if lable.caption tim...

簡單的c語言程式輸出一個簡單的c語言程式輸出1IND00不知道哪裡錯

進行浮點數程式設計時,如果沒有注意,常常會出現輸出類似 1.ind,1.inf 或者 nan,inf 之類奇怪的輸出。這通常隱含了浮點數操作的異常。特殊浮點數的含義 1.inf inf 這個值表示 無窮大 infinity 的縮寫 即超出了計算機可以表示的浮點數的最大範圍 或者說超過了 double...