字符、字符串输入格式总结


一、

char  ch;

scanf(“%c”,&ch);

这是最基本的输入一个字符的函数,注意到ch前面有个&,它表示取地址,为什么要带上取地址,很明显嘛,就是你从键盘读入一个字符放到ch的家里面(也就是它的住处嘛),

请记住这个函数的返回值。他返回我们输入的变量的个数。

比如:char ch1,ch2;

intd = scanf("%c%c",&ch1,&ch2);

这时候d的值就是2(因为输入了2个字符嘛)

Intnum;

intd = scanf("%d",&num1);

这时候d的值就是1(因为输入了1个整数嘛)

注意:回车键也是一个字符,只是操作系统隐藏了。有时候我们需要先输入一个整数,然后再输入字符。这就需要先scanf(“%d\n”,&num); scanf(“%c”,&ch); 这样我们输入完整数num之后,就不会把我们敲的那一下回车读到ch变量里面。

 

 

 

二.

char ch;

ch = getchar()

这也是输入一个字符的函数,与scanf不同的是,它返回的值是你输入的那个字符。

比如:

char ch = getchar(); 你从键盘输入一个字符a,这时候ch就是你输入的a了。

三.

char ch[10];

scanf(“%s”,ch)

这里大家总是记不住要不要带上&符号,我讲一下为什么不要带&符号,因为ch这是一个数组,大家学了指针与数组这一节就知道如果ch是一个数组,那么ch就表示ch[0]的地址

(也就是&ch[0]),程序要找ch这个字符串,只需要找到ch这个字符串的首地址就可以了。不信大家可以试一下面两种方式

1.   char ch[10];  scanf("%s",&ch[0]);  printf("%s\n",ch);

2.   char ch[10];  scanf("%s",ch);  printf("%s\n",ch);

他们是一样的,也就证明了ch就是&ch[0].

注意:

我们用scanf(“%s”,ch)这样读字符串的时候,他是读到你敲空格或者是换行为止。

比如:我们从键盘输入abcde,然后输入一个空格。再继续输入字符串fghij 我们输出那个ch一看,就会发现ch的值是abcde,因为scanf”%s”)这种格式是读到空格或换行为止的。也就是后面的不会读到ch里面。

四:

char ch[10];

gets(ch);

理解了上面的scanf(“%s”)这种格式之后,gets()就很容易理解了,gets()和scanf()不同的就是它是读到换行为止的,而不是空格。

比如:我们输入字符串abcd,再输入一个空格,接着再输入efg我们用printf(“%s”,ch)一看就会知道输出的是

abcd efg。说明空格也读进去了。

 

 

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值