1. c語言里如何判斷空格
代碼如下:
int main(void) {
char c;
printf("請輸入要測試的字元 ");
scanf("%c",&c);
if(c == ' '){
printf("是空格 ");
}else{
printf("不是空格 ");
}
return 0;
}
C語言對字元判斷是否為空格有兩種方式:
代碼:if(c=='')printf("c是空格");這種方法比較直觀,直接比較當前字元和空格是不是相等,是的話就是空格了。代碼演示如下:
2. C語言當用戶要求輸入的字元串中含有空格時,應使用的輸入函數是什麼啊
用gets()函數;gets從標准輸入設備讀字元串函數,其可以無限讀取,不會判斷上限,以回車結束讀取,所以程序員應該確保buffer的空間足夠大,以便在執行讀操作時不發生溢出。
功能
從stdin流中讀取字元串,直至接受到換行符或EOF時停止,並將讀取的結果存放在buffer指針所指向的字元數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為『 』空字元,並由此來結束字元串。
返回值
讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。
(2)返回值是空格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()函數用來從標准輸入設備(鍵盤)讀取字元串直到換行符結束,但換行符會被丟棄,然後在末尾添加'