本文目錄一覽:
C語言里哭臉的ASC碼是什麼?還有笑臉
首先我們知道 printf(“\1”); 的作用是打印出ASCII碼為1的字符。
查詢ASCII碼錶中,十進制的1對應的ASCII意思是soh,即start of head,標題開頭的意思。
該符號為通信專用字符,如果只是用作顯示,系統會使用一個特定的圖形來顯示,這就是我們看到的笑臉。
如何用c語言編寫一個程序,輸出一張笑臉?
先在程序定義一個在屏幕中運動的點的結構:
struct
move_point
{
int
x,
y;/*該點的位置,包括x坐標和y坐標*/
int
xv,
yv;/*該點在x軸、y軸的速度*/
};
運動的原理是,先擦去物體先前的軌跡,讓物體按其速度移動一段距離,再畫出該物體讓我們看到以下代碼:
gotoxy(man.x,
man.y);/*把光標移到指定的坐標*/
printf(「「);/*輸出一個空格,把先前的字符擦去*/
然後我們讓物體按其速度運動:
man.x
+=
man.xv;/*水平方向按x軸的速度運動*/
man.y
+=
man.yv;/*垂直方向按y軸的速度運動*/
運動後還要判斷物體是否出界,如果出了界,就令物體反彈,即讓它下一刻的速度等於現在的速度的相反數最後打印出這個笑臉:
gotoxy(man.x,
man.y);
printf(「%c\b」,
2);
/*輸出ascii碼值為2的「笑臉」字符*/
C語言問題,為什麼輸出全是笑臉
運算符的優先級沒有弄清楚
邏輯運算符的優先級比賦值運算符的優先級要高!
所以你的while是先判斷getchar!=’\n’ 這個只要成立就為1
所以賦值的時候總是將1賦值給你的數組裡了
而輸出的時候ASCII為1的字符就是你看到的那個笑臉!
改:
#includestdio.h
main()
{ char a[80];
int n=0;
while(a[n]=getchar()!=’\n’) //該成while((a[n]=getchar())!=’\n’)
n++;
a[n]=’\0′;
n=n-1;
for(;n=0;–n)
putchar(a[n]);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/305264.html