黑马程序员技术交流社区
标题:
哪里出错了
[打印本页]
作者:
康佳兴
时间:
2014-6-14 22:44
标题:
哪里出错了
本帖最后由 康佳兴 于 2014-6-17 14:15 编辑
7. #define String char *
int main()
{
String s1, s2;
s1 = "jack";
s2 = "rose";
return 0;
}
作者:
huangqiwa
时间:
2014-6-14 23:01
楼主你好,你定义了一个String类型是char * 类型
然后你用String 定义了2个 char*
最后你把一个字符串常量复制给char*
字符串常量实际就是char[5] 你能将char[5]与char* 对等吗?
作者:
huangqiwa
时间:
2014-6-14 23:04
你可以这样子写!
#define String char *
int main()
{
String s1="jack";
String s2="rosse";
return 0;
}
复制代码
作者:
张宇清
时间:
2014-6-15 11:59
#define String char *
int main()
{
String s1, s2;
s1 = "jack";
s2 = "rose";
return 0;
}
复制代码
首先,#define仅仅是起到了基本的替换作用。
你这里是把 char* 替换成了 String
然后你又做出了如下声明: String s1,s2; 那么这句话就等价于: char * s1,s2;
这句在C语言里的解释是:s1为char * 类型,s2为char类型,
在底下你又做出了 s2 = "rose"; 这里将字符串赋值给了字符类型,是肯定会报错的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2