c語言為什麼我輸出2o的時候出現的不是空格

時間 2021-07-04 15:47:53

1樓:匿名使用者

\x20 就是ascii碼十六進位制為20的字元,即十進位制32,正好是空格

但是你打了\x2o

後面的0 寫成o了

所以它輸出的是\x2 就是ascii碼為2的字元,就是那個笑臉

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

2樓:鎖玉英陸衣

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

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

3樓:匿名使用者

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

4樓:匿名使用者

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

5樓:匿名使用者

運算子的優先順序

bai沒有弄清楚

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

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

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

改:#include

main()

6樓:匿名使用者

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

ascii碼為1的是笑臉

所以輸出全是笑臉

7樓:匿名使用者

看看是不是陣列的問題。

c語言求解釋為什麼我執行下列**的時候會出現一堆亂碼 還有為什麼空格鍵會變成一個笑臉的符號

8樓:

cmd把你輸出的ascii碼以gbk編碼輸出了

在cmd裡面使用mode con cp select=437將cmd**頁設定為ms-dos(英語)後再執行編譯好的執行檔案就可以解決

c語言輸出一個菱形圖案(有程式)

9樓:惲長征百燕

i表示行號,打

一行i就加1

j表示某一行需要列印空格的數目

k表示某一行需要列印‘*’的數目

這個程式打了一個7行的菱形,我把程式改一下,把i,j,k的計數都從1開始,看起來會比較直觀

#include

void

main()

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

//然後列印後面三行,行號從1開始計算}

10樓:匿名使用者

菱形,就是如下所示的圖形,總行數與總列數相等:

寫一個程式,根據使用者輸入的總行數,列印出菱形。

這個題目主要是找出規律,考察讀者的邏輯思維。

你可以從第一行開始,遍歷所有的列,也可以從第一列開始,遍歷所有的行。

下面的程式從第一行開始,遍歷所有的列。

設菱形的總行數為line,總列數為column,當前行為i,當前列為j。上半部分與下半部分的規律不一樣,應該分開討論。

我們著眼於星號(*),思考什麼條件下輸出星號,總結出如下的規律。

1) 對於上半部分(包括中間一行),當前行與當前列滿足如下關係輸出星號:

j>=(column+1)/2-(i-1)     (column+1)/2-(i-1)為第i行最左邊的星號

j<=(column+1)/2+(i-1)    (column+1)/2+(i-1)為第i行最右邊的星號

2) 對於下半部分,當前行與當前列滿足如下關係輸出星號:

j>=(column+1)/2-(line-i)     (column+1)/2-(line-i)為第i行最左邊的星號

j<=(column+1)/2+(line-i)    (column+1)/2+(line-i)為第i行最右邊的星號

不滿足上述條件,則輸出空格。

於是寫出如下的**:純文字複製

#include #include int main()column = line;  // 總行數和總列數相同for(i=1; i<=line; i++)else}}elseelse}}printf("\n");}return 0;}

執行結果:請輸入菱形的行數(奇數):11

****

*****

*******

*********

***********

*********

*******

*****

****

11樓:edward司徒文德

用得著6個for迴圈碼?

//列印稜形字母

//注意abs(i)+abs(j)<=k

//用數學的角度分析(假設k為2)

//|x|+|y|<=k

//y<=  2 - x

//y<=  x + 2

//y>= -x - 2

//y>=  x - 2

#include

#include

int main(void)

return 0;

}不懂追問我

學過數學,自己畫個圖你就明白了

12樓:

//#include "stdafx.h"//vc++6.0加上這一行.#include "stdio.h"

void main(void)}

13樓:匿名使用者

這其實可以更簡便的

#include"stdio.h"

#include"math.h"

void main()}

14樓:

你自己畫一個4*4的**(四分之一菱形),按照迴圈畫出菱形圖案你就知道了。k和j都受到i的影響,決定了當前行畫幾個*和空格,i可以理解為行號! 手打

15樓:抬頭望那蒼穹

ijk都是控制迴圈次數的變數

這個程式就是控制在什麼地方顯示*號組成一個菱形

16樓:匿名使用者

上面畫一個三角,下面畫一個反三角。就是菱形了這裡的高度指的是三角行的高度

#include "stdio.h"

void main()

for(int b=1;b<=(i*2-1);b++)printf("\n");

}for(int j=h-1;j>=1;j--)for(int b=1;b<=(j*2-1);b++)printf("\n"); } }

17樓:匿名使用者

#include

void main()

for(i=n-1;i>0;i--)}

18樓:匿名使用者

#include

int main(void)

printf("\n");

}getch();

return 0;}

19樓:手機使用者

#include

void main()

printf("\n");

}for (i = 3; i > 0; i--)printf("\n");}}

console.read();

20樓:匿名使用者

#include

int abs(int a)

int main()

return 0;}

21樓:匿名使用者

void main()

printf("\n");

}getchar();}

22樓:晴川初現

迴圈中巢狀的一個賦值變數

23樓:女王

i控制行數,j控制一行列印的空格數,k代表列印的*的個數

c語言轉義字元'\0'和空格輸出效果一樣,為什麼? 20

24樓:匿名使用者

0對應空字元,所以putchar('\0')輸出的就是啥都沒有,看起來跟輸出空格一樣,但其實還是有區別的,空格是有寬度的但是'\0'是沒有的

25樓:不經意拯救世界

'\0' 是字串的結束符,任何字串之後都會自動加上'\0'。所以你加上這個和加個空格 視覺效果一樣的

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

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

看這個c語言程式。為什麼輸出的都是

你這個程式寫的很亂,首先各個變數沒有定義型別,n,m,sum r i 其次pow要用到include 演算法也不清楚你到底想幹什麼,另外scanf c n eof 這個是錯誤的。eof只有在讀檔案的時候這麼寫。 金色潛鳥 是否漏了標頭檔案 include 你的 pow 2,i 需要 math.hn ...

c語言以下程式的輸出結果是a為什麼

輸出結果是字元z 位元組是20是因為 10 定義了你為x資料組準備了10個位子,沒個位子可以存放乙個資料 佔2節 10 2 20 位元組 printf c 由於沒有輸出列表所以c編譯器不知道是列印哪個變數裡的值 他產生的當然是個隨機數.假定int型別變數占用兩個位元組,其有定義 int x 10 則...