1樓:網友
string2[size-i]=string1[i];
string2[size+1]='
改為:string2[size-i - 1]=string1[i];
string2[size+1]='0';
最好在display2(char*string1) 函式的結尾處加一句。
free( string2 );
用完記憶體後最好釋放記憶體,以免程式以後不小心使用這個空間。
請教c語言字串倒序輸出
2樓:網友
#include
#include
void main()
int invertion(char *ch1, char *ch2)/*char1 接收實參傳過來的原字串指標 char2 接收倒序後的新字串返回主函式*/
printf("count = %d", count);
ch1=ch1-1;//前面的ch1經過迴圈之後已經指向字串的結束標誌'\0',這裡減1是為了讓它指向字串的最後乙個字元。
while(ch1>=ch)//讓ch1從指向string1的最後乙個字元開始往前遞減,當減到字串的首個字元時結束。
ch1--;
ch2++;
for(int i=1;i<=num;i++,ch2++)//因為string1的第乙個單詞前沒有空格符,肯定輸不出來,所以單獨用乙個迴圈將其輸出。
ch2-num)=*(ch1+i);
ch2='\0'; //string2的結束標誌。
這是我做了修改之後的程式,看看符不符合要求!!
你的那個定義的變數太多,很混亂!迴圈語句太亂了,if判斷條件與迴圈條件不正確。
已經做了修改,看符合要求不,不行的話,再說!!!
又做了修改了,看符合要求不??
不會吧,我除錯通過還執行了!!不然怎麼會發上來啊!!至於演算法問題我給註釋吧,你看看!!
3樓:文件類共創空間
#include
提供求串長函式strlen()
#include
最後乙個元素下標。
int end;
void turn(char *h,int p)}void main()
4樓:
我也寫乙個吧:
void main()
思路是這樣的,具體**也可能有一些錯誤,動態記憶體分配我都記不起了,所以也沒有用。
5樓:初驕摩夜
你的函式。
沒有返回值。
把a,b兩個。
陣列設為。全域性變數。
就好了。就這樣就行了:
#include
chara[20],b[20];
charstr(char
a,charb)}
voidmain()
c語言 程式原理解答 逆序輸出字串
6樓:卡婭茨
這是遞迴,就是如果指標不為空就後移,知道為空,然後開始一點點返回,就從後往前輸出了,不建議這麼寫**,遞迴很消耗資源的,而且耗時。
c語言程式:將一串字元倒序輸出,結果如圖,問題在哪?**在下面
7樓:張
str是乙個空間為20的陣列,你卻把字元輸入到下標為1-21的元素輸入和輸出的for迴圈應該是(i = 0; i < 20; i++)char str[20];
而你從1開始計位,也就是說只能輸入20個字元,而且下標21是越界的,str[20]下標範圍是0-19
所以這樣定義只能輸入20個字元。
輸入n位字串至少預留n+1位空間,避免代表換行或者結束符下標越界#define _crt_secure_no_warnings#include
#include
#include
void mystrrev(char str)}int main()
scanf("%s", 陣列指標);可以直接輸入乙個字串n-i+1已經改成n-i-1
c語言寫用乙個函式實現字串陣列的倒序輸出,返回字串 下面是我寫的程式
8樓:網友
你犯了兩個錯誤。
的生命週期只是output函式,當執行到printf的時候,b的記憶體已經被系統**了,所以p指向地的一塊無效的記憶體。
應該被初始化。申請b的時候,它裡面的內容不確定,而printf會逐個輸出字元直到遇到結束符'\0'.
我修改後是這樣的。
#include ""
#include ""
char *output(char name)main()
char *output(char name)
c語言怎麼用printf輸出字串
printf函式的一般格式 printf 格式控制字串,輸出表列 以圖1所示為例。圖1.函式引數包括兩部分 1 格式控制字串,是用雙引號括起來的字串,也稱為轉換控制字串,它指定輸出資料項的型別和格式。它包括兩種資訊 格式說明項 由 和格式字元組成,如 d,f等。格式說明總是由 字元開始,到格式字元終...
c語言輸出字串陣列出現亂碼,C語言陣列輸出出現亂碼
c語言字串以 0 結尾,如果不以該符號結尾則輸出 s時會出錯,程式一直往存放字串的地址訪問。而你的程式中並沒有賦 0 給那兩個陣列,所以會出現亂碼。沒有出現亂碼的陣列是因為你初始化了,初始化時編譯器會給它加上 0 符號。include int main void c語言中字串以 0 結尾,你這樣迴圈...
c語言列印字串亂碼問題,C語言,字串輸出是亂碼
include void reverse char p,char q char myitoa int value,char const string,int radix else while value if sign reverse string,s 1 s 0 return string int...