c語言問題為什麼輸出全是笑臉,C語言問題,為什麼輸出全是笑臉

2021-04-28 17:39:56 字數 780 閱讀 9929

1樓:鎖玉英陸衣

高精度儲存大數時應該用int型,否則按字元輸出(具體看下ascii編碼)

如需要修改程式,追問一下

2樓:匿名使用者

把「while(a[n]=getchar()!='\n') 」一句中的 「a[n]=getchar()」用括號括起來,改為:while((a[n]=getchar())!='\n')

3樓:匿名使用者

運算子優先順序的問題 while(a[n]=getchar()!='\n') 語句中!=優先運算 其值為1 char a[n]=1 為笑臉 如果是int 則是1了

4樓:匿名使用者

運算子的優先順序

bai沒有弄清楚

邏輯du運zhi算符的dao優先順序比賦值運算子的專優先順序要高!屬所以你的while是先判斷getchar!='\n' 這個只要成立就為1

所以賦值的時候總是將1賦值給你的陣列裡了

而輸出的時候ascii為1的字元就是你看到的那個笑臉!

改:#include

main()

5樓:匿名使用者

while(a[n]=getchar()!='\n')中的a[n]=getchar()!='\n'相當於a[n]=(getchar()!='\n')所以a[n]=1;

ascii碼為1的是笑臉

所以輸出全是笑臉

6樓:匿名使用者

看看是不是陣列的問題。

c語言for迴圈輸出問題,C語言 for迴圈輸出陣列的問題

include include typedef int elemtype typedef int status typedef struct lnode lnode,linklist 如果i小於1或者大於表長加1,則返回error if p j i 1 s linklist malloc sizeo...

c語言這個輸出是什麼,C語言,這個輸出是什麼???

首先你是不是打錯了,06.1d 應該是 06.1f 這樣才可能輸出,d輸出整形,沒辦法輸出浮點,然版後 06.1f中6是用六個位置,0是指第一個非零數字前用零填充,1小數點後保留1位小數,float又是單精度浮點數,過指定小數位自動四捨五入,是輸出 所以k 100 85.67,輸權出就是0085.7...

C語言為什麼輸出的是7 0啊,C語言 7 0,為什麼

字元 hex dec 0 0x00 0 從數值上說上面三個是相等的 0 0x30 48 請lz注意他們的區別 你可以這樣理解strlen 函式的實現 int strlen char str 定義的x是字元型陣列名,但在c語言中字元型變數可以被賦予整形資料,字串裡遇到結束符0 0 就會結束,不管後面是...