C語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下

時間 2021-05-07 20:00:10

1樓:

想法還是不錯的,把輸入的一個字串,倒序存到另外一個字串中,不過實現時有點問題

首先,兩個字元陣列未初始化,用puts函式當字串輸出時,由於可能沒有字串結束符'\0'而造成輸出亂碼的問題

第二,你接收字串的字元陣列str2是從最後一個元素開始賦值的,一旦你第一個字元被賦值為'\0'時,你再用puts(str2),不會有任何輸出,所以你首先應該確定你輸入的字串的長度

#include

void main()

,str2[16]=;//字元陣列可以設大一點,同時初始化為全0 char str1[6],str2[6];

int tmp,i,len=0;//加個len變數來統計你輸入的字串的長度

printf("input str1:");

gets(str1);

i=0;

while(str1[i]!=0)

len=i;

i=0;

while(str1[i]!=0)

puts(str2);}

2樓:

#include

void main()

,str2[6]=,tmp[1]=;//只要加初始化然後下面int i;

printf("input str1:");

gets(str1);

i=0;

while(str1[i]!='\0')

puts(str2);

}功能就是反向輸出一個輸入的字串,長度為6

c語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下原因..

3樓:匿名使用者

選擇2括號裡是逗號表示式,整體的值是逗號最右面的值

4樓:遺留下的玫瑰色

②2,函式引數是以逗號分開的。(s1,s2)與(s3,s4,s5)是兩個引數。

5樓:匿名使用者

因為括號的優先順序比逗號的優先順序高所以是兩個引數。

c語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下。

6樓:匿名使用者

第四個有問題,2後不能有分號,會把while語句斷掉的,從而產生語法錯誤

7樓:匿名使用者

判斷是while(x==y)

8樓:77右耳釘

是不是吧問題打漏字了 第二個選項少了分號, 且第三個進入了死迴圈。。

9樓:匿名使用者

第二個,x++;才對少了分號

c語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下。

10樓:匿名使用者

7+b=c=7 這個錯了7+b 表示式不能做左值b++=c=7 表示式不能做左值

a=(b=7,c=12) 正確 逗號表示式,a=12a=3,b=a+5,c=b-2 正確

11樓:匿名使用者

賦值運算子的左邊不能出現表達

式 故1,2錯誤,逗號表示式(又名順序表示式),其詳解請看http://www.cnblogs.

故3,4都可以

12樓:匿名使用者

第四個。

希望我的回答可以幫到你~~

c語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下原因..

13樓:虹灬穎鳶

for(j=i;x[j]=x[j 1];j );

因為c語言判斷相同是"==",一個等於是賦值,所以

x[j]=x[j 1]相當於給x[j]賦值,然後判斷x[j]值是否為真,當迴圈到最後時賦值"\0"等於0,為假,停止for迴圈。

14樓:糖二灰

for(j=i;x[j]=x[j+1];j++);

相當於for(j=i;;j++)

x[j]=x[j+1];

不知道這樣你看懂了沒?

15樓:瑤塘啊三

相當於把字串x的後續位元組前移,當移動到末尾時x[n]==0,即退出迴圈了。

c語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下.

16樓:匿名使用者

3.6取整等於3,再乘以3等於9

17樓:匿名使用者

其實在程式設計學習初階時,不妨多花一些時間多實驗實驗,這種小實驗是很棒的。

c語言問題,求大神解決,謝謝啦,我是小白,最好能夠解釋下。

18樓:年飇

按照ansi的規定,字元陣列必定以'\0'結尾,所以你定義的str1和str2是長度為4,而不是3.另外strlen(char *s)函式是字元陣列,而不是整型陣列

19樓:鬼扯石室

你的這幾個陣列是int陣列,不是char陣列所以你的len1不能用strlen求得

修改如下:

#include

#include

void main()

,str2[3]=,str[7];

int i,len1;

printf("input :");

len1=strlen(str1);

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

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

str[len1+3]='\0';

puts(str);}

20樓:匿名使用者

str應該是字元陣列,怎麼定義成int了

21樓:好學者步步高

第二個for迴圈改為:for(i=1;i<=3;i );str[i 1]='\0';

C語言問題,求大神解決,c語言問題 求大神解決

馨兒 青衣 include include main printf the place is d n place printf shun xu is d d d d d n a,b,c,d,e printf ni xu si d d d d d n e,d,c,b,a return 0 已經改過,你...

c語言問題求大神解決,本人小白求解釋,謝謝拉

if 擴號中需要能判斷真假的值,0為假,其他數值為真。代表非,對真假取相反。如!0為真。x的值總是以最終賦值為準。int x 只定義未初始化此時x值由編譯器隨機賦值。int 宣告變數x 為整型,即x後續可以被賦予1,123,889.這樣的整數,當然字元也是可以的 x 35 x相當以一個無底無蓋箱子,...

c語言問題求大神解答,C語言問題,求大神解答

a 用結構體定義以下學生資訊,結構體名 student 學號 姓名和成績 包括3門課程的成績,可用一個陣列表示 struct student c語言問題,求大神解答! 奔安 include include include typedef unsigned int uint typedef struc...