| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 700 人关注过本帖
标题:简单问题求助!请各位大侠不吝赐教!兄弟在此先谢了!
只看楼主 加入收藏
dhleelei
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-12-3
收藏
 问题点数:0 回复次数:9 
简单问题求助!请各位大侠不吝赐教!兄弟在此先谢了!

请各位大侠帮忙看看下面这段程序哪地方有问题??

#define OK 0
#define ERR 1
#define ERROR (-1)
#define BUFFER_SIZE 256


int GetMemory(char **ppszBuf,int num)
{
if(NULL == ppszBuf)
{
ASSERT(0);
return ERROR;
}
*ppszBuf = (char*)malloc(num);
if(NULL == *ppszBuf)
{
return ERROR;
}
return OK;
}

void test(void)
{

char *pcStr =NULL;
if(OK ==GetMemory(&pcStr,BUFFER_SIZE))
{
scanf("%s",pcStr);
printf(pcStr);
free(pcStr);
}
return;

}

搜索更多相关主题的帖子: 简单问题 兄弟 不吝 
2005-12-03 21:32
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 


#include <stdio.h>
#include <string.h>
#include <alloc.h>


#define OK 0
#define ERR 1
#define ERROR (-1)
#define BUFFER_SIZE 256
#define NULL 0
int GetMemory(char**ppszBuf,int num)
{
*ppszBuf=(char*)malloc(num*sizeof(char));
if(NULL==*ppszBuf)
{
return ERROR ;
}
return OK ;
}

void test(char**pcStr)
{


if(OK==GetMemory(pcStr,BUFFER_SIZE))
{
scanf("%s",*pcStr);
printf("%s",*pcStr);
free(*pcStr);
}
return ;

}

int main()
{
char*pcStr=NULL ;
test(&pcStr);
}


九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-03 22:05
dhleelei
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-12-3
收藏
得分:0 
这道题是某公司的面试题,题目的要求是指出程序中不能出现预期结果的错误,若只是因为缺少main()函数的话,那这道题出得也太没水准了吧!?

2005-12-04 01:38
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
我也没看出。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-04 09:49
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
除非scanf("%s",pcStr);有越界行为

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-04 09:51
dhleelei
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-12-3
收藏
得分:0 
Sorry,忘掉了一句,程序假定BUFFER_SIZE足够大,不会导致越界

2005-12-04 14:09
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
看不出,能改良的地方只有


if(OK ==GetMemory(&pcStr,BUFFER_SIZE))
{
scanf("%s",pcStr);
printf(pcStr);
free(pcStr);

pcStr=NULL;
}



九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-04 14:39
dhleelei
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-12-3
收藏
得分:0 
多谢knocker兄!

2005-12-04 14:42
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
噢?这个问题只会出现大的工程中,就这么几句给的提示也太少了一点了吧_^_

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-12-04 14:53
cranky
Rank: 1
等 级:新手上路
威 望:1
帖 子:89
专家分:0
注 册:2005-11-21
收藏
得分:0 
差距

一个不知道天高地厚,想问什么时候才是满壶水的鬼 --------------半壶水响叮当
2005-12-05 10:39
快速回复:简单问题求助!请各位大侠不吝赐教!兄弟在此先谢了!
数据加载中...
 
   



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

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