C语言 字符串的输入输出


用多个字节来代表的字符称之为宽字符,而Unicode只是宽字符编码的一种实现,宽字符并不一定是Unicode


编译时为字符数组分配若干存储单元,以存放各元素的值,而对字符指针变量,只分配一个存储单元存储地址

 char *a; scanf(“%s”,a);   错
 char *a,str[10];      
 a=str;                  
 scanf (“%s”,a);      对

gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,


使用scanf("%s",&s); 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止


puts()函数的作用与语句“printf("%s\n",s);的作用相同。


1、字符指针变量与字符数组
char *cp; 与 char str[20];

str由若干元素组成,每个元素放一个字符;而cp中存放字符串首地址

   char  str[20];     str=“I love China!”;    ()
   char   *cp;         cp=“I love China!”;    ()

str是地址常量;cp是地址变量
cp接受键入字符串时,必须先开辟存储空间

2、初始化字符数组

char  str[100]={ 0 } ;   //初始化字符数组
scanf(“ %s ”,str);  //根据键盘输入初始化
printf( “%s”, str);  //打印字符串

3、 初始化字符指针

char  *p=NULL ;   //0x00000,用指针初始化,必须让指针存储一片可以读写的内存 (这样的初始化是错误的)
 scanf(“ %s ”,p);  //根据键盘输入初始化
printf( “%s”, p);  //打印字符串

4、 str[100]代表第101个元素,下面的初始化就会越界

在这里插入图片描述
如果int str[100];
str=”tasklist”; //编译出错。str是数组名,是常量不可以修改。

5、 字符串的处理函数atoi——把字符串转换成长整型数
char *p=”tasklist”; //p存储了字符串常量的首地址
字符串处理函数atoi
函数名:atoi
功能:将字符串转换成整形数
程序例:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值