A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白昼那知夜的黑 中级黑马   /  2015-5-26 19:48  /  1558 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么这段代码不行?char *answer; printf("Type something:\n"); gets(answer); printf("You typed \"%s\"\n", answer);

12 个回复

倒序浏览
不知道,应该行吧
回复 使用道具 举报
指针初始化呢?
回复 使用道具 举报
answer取的是地址,*answer取的才是char类型的字符或串儿    printf("You typed \"%s\"\n", *answer)看看
回复 使用道具 举报
尽量少用gets()
不安全
回复 使用道具 举报
没初始化指针,是野指针,Xcode会报错的
回复 使用道具 举报
定义的指针没初始化,就是个野指针!会报错的。
回复 使用道具 举报
我也不太懂
回复 使用道具 举报
学习学习!
回复 使用道具 举报
printf("You typed \"%s\"\n", answer),answer加个*试试
回复 使用道具 举报
这段代码中没有初始化指针,指针是个野指针,所以肯定不行的。
回复 使用道具 举报
围观学习,我也不会看看别人的喽
回复 使用道具 举报
这是一个指针和数组用来存储字符串常量的区别,
A)字符串指针
1:只能直接存储字符串常量!!!!常量——实际上是存储在常量区然后把常量区的地址赋值给了指针,常量的存储不用申请空间
2:先向内存申请存储空间然后才能存储字符串变量
原因就是字符串指针只是一个指针,他并没有存储空间,要么存储自动分配空间的常量要么自己申请存储空间
B)字符串数组
1:能直接存储字符串常量和变量
2:只有在定义的时候可以直接用赋值符号=赋值 ,其他时候必须要用strcpy。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马