欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中%c與%s的區(qū)別與劃分詳解

 更新時間:2020年12月07日 14:33:28   作者:zhgl7688  
這篇文章主要介紹了C語言中%c與%s的區(qū)別與劃分詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

%c格式對應(yīng)的是單個字符,%s格式對應(yīng)的是字符串。

例:

char a;
char b[20];
scanf("%c",&a); //只能輸入一個字符。
scanf("%s",b); //可以輸入一串不超過20字符的字符串。

%c對應(yīng)類型為char, %s對應(yīng)類型為char * , 即字符串.

用作輸入時, 二者參數(shù)都要傳char * 型.

%c輸入函數(shù)只會對一個字節(jié)空間賦值. 而%s會一直賦值,直到輸入中遇到空白字符為止.

用作輸出時, %c傳char類型,輸出一個字符. %s傳char*類型參數(shù), 輸出到\0為止.

%c只能輸出或輸入一個字符,%s輸出的是一串字符還有就是char a; string s;

輸入的時候scanf("%c", &a);這里的&不能少

而scanf("%s",s);這里不能有&符號

轉(zhuǎn)換說明符

   %a(%A)     浮點數(shù)、十六進(jìn)制數(shù)字和p-(P-)記數(shù)法(C99)
   %c       字符
   %d       有符號十進(jìn)制整數(shù)
   %f       浮點數(shù)(包括float和doulbe)
   %e(%E)    浮點數(shù)指數(shù)輸出[e-(E-)記數(shù)法]
   %g(%G)    浮點數(shù)不顯無意義的零"0"
   %i       有符號十進(jìn)制整數(shù)(與%d相同)
   %u       無符號十進(jìn)制整數(shù)
   %o       八進(jìn)制整數(shù)  e.g.   0123
   %x(%X)    十六進(jìn)制整數(shù)0f(0F)  e.g.  0x1234
   %p       指針
   %s       字符串
   %%       "%"

補充知識:c語言中scanf("%c",&c)吃掉回車或者空格字符的問題

2`標(biāo)志

左對齊:"-" e.g. "%-20s"

右對齊:"+" e.g. "%+20s"

3.格式字符串(格式)

 〔標(biāo)志〕〔輸出最少寬度〕〔.精度〕〔長度〕類型
 "%-md" : 左對齊,若m比實際少時,按實際輸出。
 "%m.ns" : 輸出m位,取字符串(左起)n位,左補空格,當(dāng)n>m or m省略時m=n
 "%m.nf" : 輸出浮點數(shù),m為寬度,n為小數(shù)點右邊數(shù)位
 "%3.1f" :  輸入3852.99 輸出3853.0 

補充知識:c語言中scanf("%c",&c)吃掉回車或者空格字符的問題

我就廢話不多說了,大家還是直接看代碼吧~

#include<stdio.h>
void main(){
 int a;
 char b; 
 
 printf("input a integer\n");
 scanf("%d",&a);
 //這里需要吸收 回車符 下面有種方法,第二種我沒看懂 誰能改下代碼 告訴我第二種怎么用
 printf("input a char\n");
 scanf("%c",&b); 
 printf("%d,%c\n",a,b); 
}
/*
(1)用getchar()清除
(2)用"%1s"來限制
(3)用格式串中空格或"%*c"來"吃掉"
(4)用函數(shù)fflush(stdin)清除全部剩余內(nèi)容
*/

下面使用第二種方法

#include<stdio.h>
int main(){ 
 
 int a;
 char b; 
 
 printf("input a integer\n");
 scanf("%d",&a);
 //這里需要吸收 回車符 下面有種方法,第二種我沒看懂 誰能改下代碼 告訴我第二種怎么用
 printf("input a char\n");
 scanf("%1s",&b); 
 
 printf("%d %c\n",a,b);
 system("pause");
 return 0; 
}

環(huán)境(dev c++)

測試結(jié)果

可以看出a的值異常了,為什么呢?

這應(yīng)該和編譯器有關(guān)系,因為%1s的輸入方式的問題。

解決方法有兩種:

第一:

char b;

int a;

將這兩個變量的聲明換一下,哈哈,以前老師說過。但我感覺著不是解決方法,如果還有其他的變量,這種方式是不是還會危害其他呢。

第二:

#include<stdio.h>
int main(){ 
 
 int a;
 char b[2]; 
 
 printf("input a integer\n");
 scanf("%d",&a);
 //這里需要吸收 回車符 下面有種方法,第二種我沒看懂 誰能改下代碼 告訴我第二種怎么用
 printf("input a char\n");
 scanf("%1s",&b); 
 
 printf("%d %c\n",a,b[0]);
 system("pause");
 return 0; 
}

b聲明成字符創(chuàng)的形式,哈哈,這個好。。。。

結(jié)果為:

以上這篇C語言中%c與%s的區(qū)別與劃分詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++實現(xiàn)哈夫曼樹簡單創(chuàng)建與遍歷的方法

    C++實現(xiàn)哈夫曼樹簡單創(chuàng)建與遍歷的方法

    這篇文章主要介紹了C++實現(xiàn)哈夫曼樹簡單創(chuàng)建與遍歷的方法,對于C++算法的學(xué)習(xí)來說不失為一個很好的借鑒實例,需要的朋友可以參考下
    2014-07-07
  • 如何理解C++指針常量和常量指針

    如何理解C++指針常量和常量指針

    這篇文章主要介紹了如何理解C++指針常量和常量指針,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • 基于C++和MFC開發(fā)象棋程序

    基于C++和MFC開發(fā)象棋程序

    這篇文章主要為大家詳細(xì)介紹了基于C++和MFC開發(fā)象棋程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • C++設(shè)計模式之適配器模式

    C++設(shè)計模式之適配器模式

    這篇文章主要介紹了C++設(shè)計模式之適配器模式,本文詳細(xì)講解了C++中的適配器模式,并給出了實現(xiàn)代碼,需要的朋友可以參考下
    2014-09-09
  • Visual Studio 2022卡死分析

    Visual Studio 2022卡死分析

    本文主要介紹了Visual Studio 2022卡死分析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 用C++實現(xiàn)一個命令行進(jìn)度條的示例代碼

    用C++實現(xiàn)一個命令行進(jìn)度條的示例代碼

    這篇文章主要介紹了用C++實現(xiàn)一個命令行進(jìn)度條的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Qt6.3 + Clion +MSVC2019環(huán)境配置詳解

    Qt6.3 + Clion +MSVC2019環(huán)境配置詳解

    本文主要介紹了Qt6.3 + Clion +MSVC2019環(huán)境配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解C++中單繼承與多繼承的使用

    詳解C++中單繼承與多繼承的使用

    C++的繼承機制相對其他語言是比較復(fù)雜的一種,不同于java只支持單繼承,C++不僅支持單繼承,也支持多繼承。本文將詳細(xì)講解C++中單繼承與多繼承的使用,需要的可以參考一下
    2022-04-04
  • C語言 數(shù)與串之間轉(zhuǎn)換的方法

    C語言 數(shù)與串之間轉(zhuǎn)換的方法

    C語言 數(shù)與串之間轉(zhuǎn)換的方法,需要的朋友可以參考一下
    2013-05-05
  • C++ 模擬實現(xiàn)list(迭代器)實現(xiàn)代碼

    C++ 模擬實現(xiàn)list(迭代器)實現(xiàn)代碼

    這篇文章主要介紹了C++ 模擬實現(xiàn)list(迭代器)實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05

最新評論