黑马程序员技术交流社区
标题:
C语言问题
[打印本页]
作者:
wuyu1992
时间:
2015-5-17 17:19
标题:
C语言问题
#include <stdio.h>
int main()
{
char *name;
scanf("%s", name);
printf("他的名字是:%s", name);
return 0;
}
这个C语言函数可以输出字符串么? 为什么? 求大神解答
作者:
cui0wei0
时间:
2015-5-17 17:25
可以啊, 为什么不能输出哇?
作者:
yi95392
时间:
2015-5-17 17:43
自己试试不就知道啦!
作者:
fixer
时间:
2015-5-17 18:02
动手试一下,解百毒,加个换行或空格就更好了.
作者:
aSmallStone
时间:
2015-5-17 22:35
这是一个野指针不安全,
比如定义如下:
char *p;
这个时候系统并没有给它分配内存,它只是有一个存放地址的地方,但是这个地方是没有预期的,可以理解是野指针,可能指向其它人的地址内存中.
所以我们一般定义变量是,一定要给它赋个初值,比如: char *p = NULL;这样就比较安全了.
有些东西知道它怎么使用就好了,更深入的东西知道了并不一定是好事.
作者:
kakade
时间:
2015-5-17 23:47
试试就可以 如果电脑没C语言软件就下一个 试试就知道了
作者:
卖报的小画家
时间:
2015-5-18 00:00
为什么要定义个指针啊
作者:
wangguanyang
时间:
2015-5-18 07:23
走一个就知道
作者:
mony
时间:
2015-5-18 19:12
卖报的小画家 发表于 2015-5-18 00:00
为什么要定义个指针啊
因为C语言里没有字符串类型,所以用字符数组存放字符串。定义可以是用字符数组,或者字符类型的指针
作者:
lyricdon
时间:
2015-5-18 21:04
自己运行一下就知道了!
作者:
huanleabcd
时间:
2015-5-18 21:17
装个C语言自己论证吧
作者:
等风继续吹
时间:
2015-5-18 21:19
受教育了.野指针,不安全,这些还不懂
作者:
zhangshuai
时间:
2015-5-23 17:34
他的名字是: (在scanf 函数输入啥,就输出啥)
作者:
yi95392
时间:
2015-5-23 22:40
不仅仅是野指针的问题.
保存字符串:
可以定义一个较大的数组,程序自动分配内存,可以保存字符串
如果用指针,就需要手动分配内存,然后保存字符串
如果不分配内存,程序可能没有问题(运气),但也可能会崩溃.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2