标题:一个简单单很头疼的问题
只看楼主
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
结帖率:100%
已结贴  问题点数:5 回复次数:6 
一个简单单很头疼的问题
#include<stdio.h>
void main()
{
    char *a;
    gets(a);
    puts(a);
}

怎么运行错误??
搜索更多相关主题的帖子: 头疼 问题 
2011-10-04 11:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:3 
为什么不错误?a指针指向什么空间能容纳你随意gets()?

授人以渔,不授人以鱼。
2011-10-04 11:03
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
得分:3 
char *a=(char *)malloc(100);
gets(a);
puts(a);
2011-10-04 11:12
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
得分:0 
回复 2楼 TonyDeng
那为什么用数组就可以啊???

char a[];
gets(a);
puts(a);
2011-10-04 11:50
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
得分:0 
回复 3楼 hjywyj
那为什么用数组就可以啊???用数组就可以不用malloc???

char a[];
gets(a);
puts(a);
2011-10-04 11:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
数组预先分配了空间,char a[]即使是空数组,也有一个char的空间可供gets(a)得到'\0'(直接敲回车)。这个代码的主要问题在运行时。

授人以渔,不授人以鱼。
2011-10-04 12:04
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
得分:0 
明白了
2011-10-04 12:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-351557-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.495853 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved