段错误的问题
在编译下面这段代码时提示if((dp=opendir(argv[1]))==NULL)这行中有段错误,用GDB调试也没有调试出来,我刚学linux没有多久,请各位帮忙看看是怎么一回事,谢谢了.
#include<sys/types.h>
#include<dirent.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc , char *argv[])
{
DIR *dp;
struct dirent *dirp;
if(argc!=2)
printf("a single argument is required");
if((dp=opendir(argv[1]))==NULL);
printf("can not open %s",argv[1]);
while((dirp=readdir(dp))!=NULL)
printf("%s\n",dirp->d_name);
closedir(dp);
exit(0);
}