C语言数组字符串初值

Posted

tags:

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

C语言数组字符串初值太笨了,要过程要解释

选择A
因为“good!”的长度为5,又字符串结束标志占一个字符,
所以字符串”good!“占6个字符
故A中的字符长度越界
参考技术A 选A
good!一共5个字符,加上一个字符串结尾\0,会超出长度为5的限制

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语言如何通过函数来改变已经赋初值的全局变量的值?

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

C语言 二维数组有没有默认初值?多少?

C语言一维数组赋值方法

如何封装C语言的字符串相关功能

C语言,结构体中的数组怎么赋值,?