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

c語言輸入函數經典例子

發布時間: 2023-07-12 18:01:43

c語言當用戶要求輸入的字元串中含有空格時,應使用的輸入函數是什麼啊

用gets()函數;gets從標准輸入設備讀字元串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。

功能

從stdin流中讀取字元串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字元數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為『』空字元,並由此來結束字元串。

返回值

讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。

(1)c語言輸入函數經典例子擴展閱讀:

gets()函數用法:

示例

1、C:

#include <stdio.h> //這個頭文件包含gets()函數,這個函數在ISO/IEC 9899 2011(C11)標准中被移除

int main(void)

{

char str1; //不要char*p,然後gets(p),這是錯誤的,因為p沒有指向有效的內存,它可能指向任何非法地址//地方的未知大小的內存塊,這樣以來,就可能修改了不屬於本程序的內存的內容

gets(str1);

printf("%s ", str1);

return 0;

}

#include <stdio.h>//gets_s()用法

#define CH 20

int main(void)

{

char ch[CH];

printf("請輸入你的名字: ");

gets_s(ch,CH); //這里不能用gets_s(ch);

printf("這是你的名字:%s ", ch);

return 0;

}

2、C++:

#include <iostream>

#include <cstdio>

using namespace std;

int main()

{

char str[100];

gets(str);

cout<<str<<endl;

return 0;

}

gets()函數用來從標准輸入設備(鍵盤)讀取字元串直到換行符結束,但換行符會被丟棄,然後在末尾添加''字元。其調用格式為:

gets(s);其中s為字元串變數(字元串數組名或字元串指針)。

gets(s)函數與scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函數輸入字元串時存在一個問題,就是如果輸入了空格會認為字元串結束,空格後的字元將作為下一個輸入項處理,但gets()函數將接收輸入的整個字元串直到遇到換行為止。

也就是說:gets()函數讀取到 (我們輸入的回車)於是停止讀取,但是它不會把 包含到字元串裡面去。然而,和它配合使用的puts函數,卻在輸出字元串的時候自動換行。

② c語言有哪些輸入輸出函數

C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int scanf(const char *format, arg_list)
scanf主要從標准輸入流中獲取參數值,format為指定的參數格式及參數類型,如scanf("%s,%d",str,icount);
它要求在標准輸入流中輸入類似"son of bitch,1000"這樣的字元串,同時程序會將"son of bitch"給str,1000給icount.
scanf函數的返回值為int值,即成功賦值的個數,在上例中如果函數調用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount) != 2){...}來判斷用戶輸入是否正確.
int printf(const char *format, arg_list)
printf主要是將格式化字元串輸出到標准輸出流中,在stdio.h頭文件中定義了標準的輸入和輸出,分別是stdin,stdout.
arg_list可以是變數名,也可以是表達式,但最終都會以值的形式填充進format中.
int getc(FILE *fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為:(ch = getc(fp)) != EOF.EOF為文件結束標志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin
時,getc(stdin)就等同於getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.
int getchar(void)
getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又
涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元
串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:
while ((c = getchar()) != '#')這是以#來結束的.
int putchar(int ch)
putchar(ch)主要是把字元ch寫到標准流stdout中去.
char * gets(char *str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.
int puts(char *str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.
char *fgets(char *str, int num, FILE *fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數
不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.
int fputs(char *str, file *fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.
int fgetc(FILE *fp)
fgetc從fp的當前位置讀取一個字元.
int fputc(int ch, file *fp)
fputc是將ch寫入fp當前指定位置.
int fscanf(FILE *fp, char *format,...)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.
int fprintf(FILE *fp, char *format,...)
fprintf將格式化數據寫入流式文件中.

③ C語言輸入函數

c中用於將用戶從指定輸入設備輸入的各種符號儲存到指定內存以便程序讀取的函數,c的函數庫中有的輸入函數叫標准輸入函數,他放在<stdio.h>中,你也可以自己編寫。

④ C語言 用輸入函數輸入自己的名字、學號和班級並將其輸出(要求:使用字元數組)

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
char name[32] = {0};
printf("Enter your name\n");
scanf("%s", name);

char sn[32] = {0};
printf("Enter your student number\n");
scanf("%s", sn);

char class[32] = {0};
printf("Enter your class\n");
scanf("%s", class);

printf("Name is [%s] Student Number is [%s] Class is [%s]\n", name, sn, class);

return 0;
}

⑤ C語言中的Scanf的用法

scanf 函數最主要的用法是:

scanf("輸入控制符", 輸入參數);

函數原型:intscanf(constchar*restrictformat,...);

函數 scanf() 是從標准輸入流stdin (標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。


(5)c語言輸入函數經典例子擴展閱讀:

函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。

發展:

使用scanf函數進行輸入,必須指定輸入的數據的類型和格式,不僅繁瑣復雜,而且很容易出錯。C++保留scanf只是為了和C兼容。

以便過去用C語言寫的程序可以在C++的環境下運行。C++的編程人員都願意使用cin進行輸入,很少使用scanf。

但是scanf有一個明顯的優點,速度比cin函數快。

⑥ C語言中怎樣調用函數(舉個例子)

C語言中調用函數的方法及步驟:

工具/原料:C語言

1、首先需要輸入想要調用的函數。