asdasddd 发表于 2014-5-14 17:45:27

关于用数组定义字符串的一个问题!求助!

请问下以下两端代码区别在哪里?
一、char str="I love Fishc.com!";

二、char str;
       str="Ilove Fishc.com!";

kikiatw 发表于 2014-5-14 19:15:39

str="Ilove Fishc.com!";
這是錯的, str 是一個字元, 跟str, str ....str 一樣都是一個字元, 你不可以這樣賦值

你也不可以用 str = "Ilove Fishc.com!"; 因為 str 是一個address

仰望天上的光 发表于 2014-5-14 19:39:04

char str="I love Fishc.com!";

这里的=是初始化,因为str之前没有定义过,定义的时候使用=就是初始化
char str;
str="Ilove Fishc.com!";

这里的=不是初始化,因为str之前定义过,非定义的时候使用=就是赋值

C语言规定可以用字符串常量初始化字符串数组,但不能对字符串数组直接赋值。请注意这句话里,"初始化"是可以的,“赋值”是不行的

秋灬瑟瑟 发表于 2014-5-14 20:19:32

数组是常量,所以只能初始化,不能赋值   所以第二个会报错

asdasddd 发表于 2014-5-15 17:08:13

明白了!谢谢!

C语言规定可以用字符串常量初始化字符串数组,但不能对字符串数组直接赋值。请注意这句话里,"初始化"是可以的,“赋值”是不行的
页: [1]
查看完整版本: 关于用数组定义字符串的一个问题!求助!