c語言char輸出字串是亂碼,C語言,字串輸出是亂碼

時間 2021-09-11 22:33:38

1樓:

重點是creatlist這個函式,datac必須是malloc分配出來的記憶體,不然就會出問題.

**應該是這樣的:

p->pdata = malloc(256);

scanf("%s",p->pdata);

2樓:傑大哥哈哈哈

asadrcvs5 2 f к· ㏄amng

bkuqte

lzlr

kxojfrc

eqsauzx

3樓:匿名使用者

夫婿久離別,青樓空望歸。-歲老根彌壯,陽驕葉更陰。幾時入少室。

衰容常晚櫛,秋鏡偶新磨。-溼光微泛草,石翠澹搖峰。贈從兄襄陽少府皓

江暗管弦急,樓明燈火高。-桂滿天西月,蘆吹塞北笳。後人得之傳此。

臨流有新恨,照見白鬚生。-觀風隨按察,乘騎度荊關。歸時還弄峨眉月。

鳳池添硯水,雞樹落衣花。-年年今夜盡,機杼別情多。真仙可以全吾身。

單于莫近塞,都護欲回邊。-若聽清猿後,應多白髮生。峨眉山月歌送蜀僧晏入中京

風霜臣節苦,歲月主恩深。-壯年看即改,羸病計多同。粉圖珍裘五雲色。

早涼湖北岸,殘照郭西門。-5湘中有岑穴,君去掛帆過。訟息但長嘯。

愛花心在否?見酒興如何?-2龍象經行處,山腰度石關。頓驚謝康樂。

門閒無謁客,室靜有禪僧。-f信來淮上郡,楚岫入秦雲。閒綴羽陵簡。

那知今日眼,相見冷於秋。-k左右瀍澗水,門庭緱氏山。何處滄浪垂釣翁。

澹然方寸內,唯擬學虛舟。-.市靜人逃賦,江寬客避兵。蒼梧欲巢難背違。

京洛衣塵在,江湖酒病深。-c雁池戎馬飲,雕帳戍人過。瑤臺雪花數千點。

明朝拜嘉慶,須著老萊衣。-c江漢曾為客,相逢每醉還。青春長別離。

c語言,字串輸出是亂碼

4樓:

#include

#include

#include

int random(int num);

void main()

printf("請依次輸入學生姓名:");

for(i=0;i被點到的同學的名字是:");

printf("%s ",p[random(n-1)]);

}int random(int num)

5樓:匿名使用者

你好沒有亂碼

就是邏輯上有些錯誤如圖:

6樓:匿名使用者

按照程式是在a字元

串中隔一個字元取一個形成b字串

void main()

half(a);

}輸出24680bdfhj

如果出亂碼,可能你的a陣列賦值方面有問題,不知道你是如何定義a陣列和呼叫函式的

7樓:匿名使用者

輸出亂碼是必須的,

因為你的資料型別搞錯了,

你使用的是字元函式stringcopy()來拷貝字元;

那麼要處理的資料當是char型別,

然而你所定義的指標應當也是char型別;

你應當修改的地方是

int *str1,*str2;//請將int改為char

8樓:匿名使用者

沒什麼問題,第一個for迴圈後多了一個分號;只要保證你傳入該函式的陣列a中有準確的二十個字元就行,如:char a=;

9樓:

while(1)

else }

10樓:匿名使用者

把讀迴圈改為 : while(fgets(str,120,fp) != null) printf("%s\n",str);

這樣就不需要直接檢查檔案是否結束,這是因為fgets()函式在讀滿120個字元或遇到'\n'時,就返回str的首址。在讀檔案時,測試是否到檔案結束經常出錯,我看見高手們都很少使用feof();函式,原因大概在此吧!

11樓:匿名使用者

原因向他們說的那樣, char a是一個區域性變數, 函式返回後他在棧上的空間就自動釋放了...

可以這樣改下:

#include

#include

#include

#include

using namespace std;

#define max_len 10

char* getnick()

return a;

}void main()

12樓:匿名使用者

getnick函式內的陣列a是區域性陣列,在棧上分配空間``,當getnick執行完後,棧空間會被**

可把a定義為全域性變數或動態申請空間(在堆中分配空間)

13樓:匿名使用者

getnick 返回的a,是一個區域性變數,當getnick返回後,這個變數就無效了,這個變數所指記憶體中的內容變得不可**,列印出來的當然不行了。你要麼把 a 宣告在函式外面,作一個全域性變數,要麼在getnick裡

static char a = ....;

14樓:匿名使用者

你的 str2 沒有加結束字元

加上 str2[n] = '\0';

就能濾掉後面的亂碼了

15樓:匿名使用者

if( !(file = fopen(name, "wb")))

你是以二進位制的方式開啟檔案的,用「w+」吧: fopen(name, "w+")

16樓:匿名使用者

#include

int main()

str2[n]='\0';

}puts(str2);

putchar('\n');

return 0;

}就是 str2 的結束加上結束符『\0』

c語言 字串輸出時最後出現亂碼

17樓:匿名使用者

輸出出現亂碼就是因為字串結尾並沒有結尾符'\0'。

gets函式讀入一行字串時,會在最末尾自動加上'\0'結尾。但是你在for迴圈內將s2的字元一個個拷貝到s中的時候,迴圈限定條件只到了s2字串的'\0'結尾符之前,所以輸出亂碼了。

將迴圈條件k

18樓:匿名使用者

#include

#include

int main()

{ int a,b,k;

char s1[1000],s2[1000],ex;

gets(s1);

gets(s2);

a=strlen(s1);

b=strlen(s2);//計算字串長度//char s[a+b+1];

memcpy(s,s1,a);//把s1放入s中//for(k=a;k

c語言字串輸出的是亂碼

19樓:

#include

#include

#include

int random(int num);

void main()

printf("請依次輸入學生姓名:");

for(i=0;i

scanf("%s",p[i]);

printf("被點到的同學的名字是:");

printf("%s ",p[random(n-1)]);

}int random(int num)

c語言列印字串亂碼,應該怎麼辦?

c語言輸出字串,一開始是亂碼

20樓:匿名使用者

for (i=0;i<26;i++)

{for (j=0;j<26-i-1;j++) //這裡改一下先

c 怎麼輸入字串,C語言輸入輸出字串

c 中常見的幾種輸入字串的方法如下 cin 狹義 通過閱讀 聽講 研究 觀察 理解 探索 實驗 實踐等手段獲得知識或技能的過程,是一種使個體可以得到持續變化 知識和技能,方法與過程,情感與價值的改善和昇華 的行為方式。例如通過學校教育獲得知識的過程。廣義 是人在生活過程中,通過獲得經驗而產生的行為...

C語言,輸入字串,輸出字串中一共有多少個重複的字元

統計字串中的重複字元,可以通過簡單雜湊演算法來實現。有效的字元的ascii值在0 127之間,定義一個128位的陣列,初始化為0,用陣列下標對應相應的字元,陣列元素值表示字元出現的頻率,統計相應字元的個數,個數大於1的字元就是重複的。include void main int i printf in...

C語言輸出字元或者字串的格式控制符有哪些?

前面的如果不知道就不要亂猜,以免誤導人!表示本輸入項在讀如後不賦值給相應變數他是scanf的附加格式說明符比如 char ch a scanf c ch 那麼不管輸入什麼字元,ch的值都不變,還是 a 請看程式 這個裡面有詳細的說明。lz剛剛還舉了個例子是 printf c i,ch 其中i為整型c...