當前位置:首頁 » 編程語言 » c語言輸入123回車
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸入123回車

發布時間: 2022-06-08 04:57:46

Ⅰ 關於c語言中會回車鍵的功能

你說的執行是回車符吧('\r',
0x0d),
在這里你可以無視它.
你在按下回車鍵時,實際讀入輸入緩沖區的只有一個換行符('\n',
0x0a)。
scanf("%d",&num[i]);執行後,
你輸入數字123,
按回車,輸入緩沖區的內容是"123\n".
這時數字被scanf讀入,
但是輸入緩沖區里還有一個'\n'.
getchar()把'\n'取出,以免影響gets.
而gets在遇到'\n'時會停止讀數據,所以如果不用getchar取出'\n',
gets遇到'\n'立即停止,只能讀到一個空串,
'\0'.
這個'\0'是gets自己添加到字元串尾的,讀不到數據就會有這樣一個字元,這個是字元串結束標志,並非讀到的字元。

Ⅱ c語言 輸入1 2 3 4 5 0回車輸出結果為6566456我想問它一步步算的流程

/***********************************************************************
你輸入1 2 3 4 5 0,輸出結果為6566456
流程:
1.輸入1時,程序進入case1中printf列印s+5=6;因為這個case語句沒有加break;所以繼續往下執行case2中,又列印s+4=5,遇到break退出switch語句.
2.輸入2時,程序進入case2中列印s+4=6,遇到break退出switch語句.
3.輸入3時,程序進入case3中列印s+3=6;沒有遇到break,順序往下執行default,s+1=4,遇到break退出switch語句.
4.輸入4時,switch語句中沒有相對應的case,所以執行default,結果s+1=5;
5.輸入5時,switch語句中沒有相對應的case,所以執行default,結果為s+1=6;
6.輸入0退出while循環,因為之前輸入數都大於0,所以會循環執行

************************************************************************/
scanf("%d",&s);
while(s>0)
{
switch(s)
{
case 1: printf("%d",s+5);
case 2: printf("%d",s+4);break;
case 3: printf("%d",s+3);
default: printf("%d",s+1);break;
}
scanf("%d",&s);
}

Ⅲ C語言,鍵盤輸入123 456 8回車 然後 為什麼輸出的b和pow()函數都等於零呢

不可能是你說的那樣子:b不會是0;pow結果是0是因為輸出函數錯用了%d,改為printf("pow(%d,%d)=%f ",d,i,pow(d,i));就可以了……看圖片:

Ⅳ c語言中多個scanf怎麼輸入

1、首先在打開的C語言中,寫上注釋內容,然後定義一個枚舉,enum 枚舉的名稱,如下圖所示。

Ⅳ 計算機C語言單個字元輸入輸出問題

  1. scanf不對回車進行處理,它是以空格作為字元輸入的結束。 而getchar()會對空格進行處理,以回車作為輸入結束。

  2. 你輸入123回車,回車符被c4接收,c5,c6接收4,5

  3. 結果為:

  4. 正確輸入方法: 123456

Ⅵ C語言中 若從鍵盤上輸入123*並以回車鍵結束 這句表示什麼意思

看的時候注意下,break 語句,有它才結束,沒有順序執行

Ⅶ C語言怎麼解決scanf()把回車作為輸入值的問題

scanf()是不會把回車拷貝到字元竄裡面的。

這里是一段英文定義:the function will read and ignore any whitespace characters encountered before the next non-whitespace character (whitespace characters include spaces, newline and tab characters -- seeisspace).

除了回車,空格也不會拷貝到字元竄中。


再來看下gets(),英文定義是這樣的:Reads characters from thestandard input(stdin) and stores them as a C string intostruntil a newline character or theend-of-fileis reached.The newline character, if found, is not copied intostr.

好了。這里寫的很清楚了。gets()雖然可以把輸入都拷貝到字元竄里,比如空格,但是不包含回車。


如果需要回車,可以用fgets()。英文是這樣定義的:Reads characters fromstreamand stores them as a C string intostruntil (num-1) characters have been read or either a newline or theend-of-fileis reached, whichever happens first. A newline character makesfgetsstop reading, but it is considered a valid character by the function and included in the string copied tostr.

最後一句話說了,回車作為結束,不過會拷貝到字元竄中。


那麼文檔說的對不對呢?寫一段代碼測試一下。

#include<stdio.h>

intmain()
{
inti=0;

printf("scanf... ");
charscanf_content[256]={0};
scanf("%s",scanf_content);
printf("value:%s ",scanf_content);
while(scanf_content[i])
{
if(scanf_content[i]==' ')
printf("\n");
else
printf("%d ",(int)scanf_content[i]);

++i;
}

i=0;
printf("gets... ");
chargets_content[256]={0};
gets(gets_content);//unsafe
printf("value:%s ",gets_content);
while(gets_content[i])
{
if(gets_content[i]==' ')
printf("\n");
else
printf("%d ",(int)gets_content[i]);

++i;
}

i=0;
printf("fgets... ");
charfgets_content[256]={0};
fgets(fgets_content,256,stdin);
printf("value:%s ",fgets_content);

while(fgets_content[i])
{
if(fgets_content[i]==' ')
printf("\n");
else
printf("%d ",(int)fgets_content[i]);

++i;
}

return0;
}


輸入「123 123」,你會發現scanf只會得到123,而gets可以得到空格123。最後fgets可以得到' '。這里為了看到空格和回車,可以把字元竄轉成int列印出來。


最後的結論就是,如果需要回車,就使用fgets。

Ⅷ c語言....

你好
應該是
c1='1'
c2='2'
c3='3'
c4
='\n'
c5='4'
c6='5'
scanf()讀入字元時,回車也被當做字元讀入
所以c4
='\n'
c5=getchar();c6=getchar();
讀入的是下面的4
5
希望對你有幫助啊

Ⅸ c語言,二維數組,輸入:1 2 3回車,求輸出結果

for(i=0;i<2;i++)
{ ptr=a+i;
scanf("%d",ptr);ptr++;
}
//這個for循環是給二維數組的第0列賦值,但是只接受1 2 前兩個值
所以數組輸出的結果是
1 0
2 0
0 0