免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1537 | 回复: 6
打印 上一主题 下一主题

一段小程序,执行错,为什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-28 10:16 |只看该作者 |倒序浏览
#include <curses.h>
int main()
{
   WINDOW  *win;
   printf("This main func!\n");
   initscr();
   test(win);
   box(win,0,0);
   wrefresh(win);
   wgetch(win);
   delwin(win);
   endwin();
}
int test(WINDOW *w)
{
   w=newwin(6,5,6,1);
   box(w,0,0);
   wrefresh(w);
}

论坛徽章:
0
2 [报告]
发表于 2007-04-28 10:45 |只看该作者

回复 1楼 gdr 的帖子

错误在于你的test函数调用后,
main函数里的win并没有被初始化

论坛徽章:
0
3 [报告]
发表于 2007-04-28 10:50 |只看该作者
谢谢指教,
但我在TEST函数中传的是指针,并且在test函数中做了
w=newwin(6,5,6,1);
了啊?

论坛徽章:
0
4 [报告]
发表于 2007-04-28 10:54 |只看该作者

回复 3楼 gdr 的帖子

如果你想用这种办法来初始化main中的win时,
test函数应该使用2级指针
另外一个办法是让test函数返回一个指针

int main ()
{
   WINDOW * win;
   ....
   win = test ();
}

WINDOW *test (void)
{
   w=newwin(6,5,6,1);  
   ....
    return w;
}

论坛徽章:
0
5 [报告]
发表于 2007-04-28 10:57 |只看该作者
多谢,解决

#include <curses.h>
int main()
{
   WINDOW  *win;
   printf("This main func!\n");
   initscr();
   test(&win);
   touchwin(win);
   box(win,0,0);
   wrefresh(win);
   wgetch(win);
   getch();
   delwin(win);
   endwin();
}
int test(WINDOW **w)
{
   *w=newwin(6,5,6,1);
}

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
6 [报告]
发表于 2007-04-28 11:05 |只看该作者
执行什么错?

另外拜托不要再问什么“一段小程序,执行错,为什么?” 编译/执行错误,要么是因为你的代码有问题,要么是你的环境有问题。不会再有其他原因了。发贴的时候多点有用信息。

论坛徽章:
0
7 [报告]
发表于 2007-04-28 11:14 |只看该作者
原帖由 MMMIX 于 2007-4-28 11:05 发表
执行什么错?

另外拜托不要再问什么“一段小程序,执行错,为什么?” 编译/执行错误,要么是因为你的代码有问题,要么是你的环境有问题。不会再有其他原因了。发贴的时候多点有用信息。


是啊,更多的信息可以帮助别人更好的帮助你
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP