终于搞懂了字符与字符串。

1.  字符  char型   %c   

scanf("%c",&a);printf("%c",a);

2.  字符串  char数组   %s

scanf("%s",str);printf("%s",str);

一.字符

①字符变量    char c1,c2;

②字符常量    char c1 = 'z', c2 = 'j', c3 = '1';(注意一定要加'',必须是单个字符。)

初始化:  char str[15] ={'G','o','o','d','!'};

把字符输入数组,输出用%c。

二.字符串(C语言中没有单独一种基本数据类型可以储存(C++中有string类型),只能用字符数组)

初始化: char str[25] = ''wo ai ni'';输出用%s。

注意!没有 char c = ''abcd'';不能把字符串常量赋值给字符变量。

三.数组

①int 型(简单不说了)

②char型

11fda4c9595b41d2ab2b3809250f9314.jpg

 可知,用%s来输入一个字符串,输出时%s通过空格/换行来识别一个字符串的结束。

8d561997b0a74baaa0c9e2b86a23a2e9.jpg

 而%c用来输入单个字符,且输出时能够识别空格/换行。

四.储存方式

 scanf/gets 输入字符串,会自动在最后添加\0,并占用一个字符位,所以字符数组长度一定要比实际储存字符串长度至少多1。

注意!int型不需要加\0,char型需要,所以在字符输入数组要在最后加入'\0'(字符串不是scanf/gets输入也要加\0 ),printf/puts是通过识别\0为结束的,不然其会一直输出乱码,直到遇到\0。

结束符\0的ASC码为0,为空字符NULL,占用一个字符位。空格ASC码是32,切勿混淆。

C语言初学者,还多有不足,学一点记一点。每天进步一点点。🤔

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值