1樓:
樓主你好。
以下**是正確的。
#include
void insert(char *str,char *str1)
}int main()
;char st[100]=;
//s=st=(char*)malloc(100);//沒必要malloc,因為malloc還要free的
printf("please enter string s:\n");
gets(s);
insert(s,st);
puts("the result is :");
puts(st);
return 0;
}//也正是因為你是malloc乙個記憶體區域但是將s和st都指向同一片記憶體區域才導致程式錯誤的
你malloc了100個位元組的記憶體空間然後讓s和st同時指向乙個記憶體空間,insert(s,st)的時候會產生錯誤。
如果非要malloc,你應該:
#include
#include
void insert(char *str,char *str1)
*str1=0;//不要忘了結束符
}int main()
輸出:please enter string s:
123456
the result is :
1 2 3 4 5 6
2樓:楊
/*此函式的功能是從鍵盤輸入一串字元,(eg:abcd),把輸入的一串字元內的每兩個字元之間增加乙個空格,然後將結果輸出到控制台(eg:a b c d)*/
#include
#include /*引用stdio.h和stdlib.h兩個標頭檔案*/
void insert(char *str,char *str1) /*使用者自定義的函式,功能是在一串字元的每兩個字元之間加乙個空格*/
}int main()
3樓:
樓主的意思是,解釋這段程式呢,還是給這段程式改錯?
C語言初學者問題,C語言初學者問題
參考 如下 include int sum int a,int n int main include int sum int a,int n int main include int sum int n1,int n2,int n3,int n4 void main 首先你寫的就有點問題,給你解釋下...
c語言程式設計問題(初學者),C語言程式設計問題(初學者)
1 輸出字元型,並且希望顯示為字元,就用c,如果希望顯示的是數字,則用d,他們的對應關係可以檢視ascii表,2 int和char的大小不同,char 只1個位元組,int為4個位元組,也就是char 只有256個字元,而int則有2的32次方個數。表示的範圍是不同的 3 a和101的關係可以檢視a...
c語言我是初學者,C語言 我是初學者
c語言規定,在定義列舉型時,可以給列舉常量賦初值,方法是在列舉常量的後面跟上 整型常量 例如,表示三原色的列舉型可以定義如下 enum colorl 則列舉常量,red的值為2,yellow的值為4,blue的值為7。1 給變數或陣列元素賦值,格式為 列舉型變數或陣列元素 同一種列舉型常量名 c語言...
C語言字串問題,初學者求詳細解答
a i 是利用i 先取值後自加的特性,把迴圈變數i的自加整合到乙個語句裡面 拆開看就是 a i 0 i i 1 這兩條語句。這個迴圈就是把a 裡面沒有小寫字母轉換成大寫字母。陣列a存放的是源字串,也就是使用者輸入的,待處理的串。b用於存放轉換後的xf。轉換時,用whilde迴圈對a的每乙個元素依次作...
C語言初學者看什麼書 C語言初學者適合看什麼書
根據我最初學習 c 語言的體會就是 首先購買一本難度適合自己的教材。當然了,至於說哪一本書適合自己,這個因人而異,沒有一定之規,需要自己去書店仔細閱讀,然後確定下來哪一本書籍難度適合自己。然後就是必須在電腦上安裝乙個 c 編譯器 例如 windows 系統下面的 microsoft visual c...