发新话题
打印

请教高手

请教高手

以下代码为什么在运行时出现segment defautl错误?(我是在solaris 下运行的)
#include "curses.h"
main()
{
  int flag=0;
  int i;

  int passwd[4];  
  noecho();
  while(flag!=1)   
  {
          for(i=0;i<=3;i++)
        {
                move(20,20);
                passwd=getch();  
                mvprintw(20,20+i,"*");
        }
                if(passwd[0]=='p' && passwd[1]=='a' && passwd[2]=='s' && passwd[3]=='s') {
                        mvprintw(10,20,"ok!");
                        flag=1;
                        break;
                }
  move(20,20);
  clrtoeol();
  for(i=0;i<=5;i++)  
  passwd='';
  }  
  refresh();
  endwin();
  echo();
}        

TOP


gcc -g xxx.c -o xxx
gdb xxx
就知道了,在SIG11的时候gdb会自己断下来,然后l看看是哪一行      

TOP

passwd长度为4, 为什么要"<=5"      

TOP

同意楼上的话      
ghost_angel_no1@163.com

TOP

initscr()没写会导致出错:eek:      

TOP

发新话题