又是一个问题....我已经是个废人了
这个题目里面到底什么时候要在string后面添【】啊?可以推广一下吗?谢谢!
这个题目里面到底什么时候要在string后面添【】啊?可以推广一下吗?谢谢!
2017-08-09
我们来讲讲什么是字符串,在C语言里面,字符串说白了就是字符数组,比如char a[4] = "ABC", 等价于char a[4] = {'A', 'B', 'C', '\0'},这个数组比较特殊,后面总得有一个\0,这是字符串结束的标志,对了,我们还可以这样改写,char a[] = "ABC",看出什么了没,那就是中括号里面的4被我们省掉了,这是合语法的,也就是当你不知道有多少个元素时,我们这样定义编译器自动帮你分配长度,所以就有了题目这样的定义char string[] = "我在慕课网上学习IT技能!";如果你不想节省时间,你可以分配长度,一个字符是一个字节的长度。同样,这道题也有一个子函数,say(string); 它把数组传进去了,注意,这里的string不能改为string[],这种写法在数组定义和初始化才用到,好,我们看子函数部分,void say(char string[]),这里的形参相当于定义,所以必须写成string[],当然以后你学到指针还可以把它改为void say(char *string),这里不讨论,好了,printf("%s\n", string); 打印字符数组,这里也不是定义和初始化,所以,也不能写成string[]。总结,数组定义和初始化要带[],其他时候,不用带[],可能说的不大明白,可以继续问我
举报