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...