C语言字符串初值对函数说明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言字符串初值对函数说明相关的知识,希望对你有一定的参考价值。

C语言字符串初值对函数说明

参考技术A 3
A
定义指针,并赋值为常量字符串地址。
正确。
B
定义字符数组,初始化前六个元素,第七个自动为\0,
正确。
C
定义数组后,不可以再用str1="string"方式赋值,错误。
D
str1有7个元素,str2有9个元素。
将str1复制给str2
正确。
选C
4
str1为长度为4的字符串,占5个字符空间
str2为10个空间的字符数组
str3为常量字符串,长度为7,占8个字符空间。
str4为不确定指针。
str5为常量字符串,长度为4,占5个字符空间。
选项中,严格来说
,只有A是对的

BD两个,赋值给常量字符串会导致程序崩溃
C赋值给野指针,同样出错。

c语言字符串赋初值

main()
char s[7];int i; <br/>for(i=0;i<7;i++) <br/>scanf("%c",&s[i]); <br/>for(i=0;i<7;i++) <br/>printf("%c",s[i]); <br/>printf("\n");
程序运行时若由键盘输入:string<Enter>
请问这个是字符赋初值还是字符串赋初值

scanf("%c",&s[i]); /*这条语句就是要你输入字符*/
for(i=0;i<7;i++)
printf("%c",s[i]); /*这里是输出你输入的字符
二,三楼的说的都错了,你运行程序时直接可以给数组赋初值的
我想你没搞明白的是到底上面输入的是字符,还是字符串吧
%c格式输入输出的是单个字符
%s格式输入输出的是一个字符串
因为你上面的是字义的一个数组,所以输入输出的时候都是string,%c格式是将单个字符依次给数组,输出时也是单个输出的
参考技术A scanf("%c",&s[i]);
/*这条语句就是要你输入字符*/
for(i=0;i<7;i++)
printf("%c",s[i]);
/*这里是输出你输入的字符
二,三楼的说的都错了,你运行程序时直接可以给数组赋初值的
我想你没搞明白的是到底上面输入的是字符,还是字符串吧
%c格式输入输出的是单个字符
%s格式输入输出的是一个字符串
因为你上面的是字义的一个数组,所以输入输出的时候都是string,%c格式是将单个字符依次给数组,输出时也是单个输出的
参考技术B 不会,在程序运行中你输入的是没用的 参考技术C 你原来字符数组里面都没存放数据在里面怎么会有初值呢?你输入string后,数组就是存放了string这个字符串了

以上是关于C语言字符串初值对函数说明的主要内容,如果未能解决你的问题,请参考以下文章

c语言中static说明是啥意思?

c语言如何通过函数来改变已经赋初值的全局变量的值?

求51单片机中,用C语言写的五个中断源的中断函数的书写规则,就是进入中断函数时的那个函数名,并说明...

C语言格式化说明符

C语言--strcpy()函数

C语言fscanf/fprintf函数(格式化读写文件)的用法(%[]和%n说明符)