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()函数将接收输⼊的整个字符串直到遇到换⾏为⽌。
c语言如何创建字符串数组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
功能:将字符串转换成整形数
程序例:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论