我正在测试的这段代码为我提供了当前工作目录中的文件列表。
#include <stddef.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
int main (void)
{
DIR *dp;
struct dirent *ep;
dp = opendir ("./");
if (dp != NULL)
{
while (ep == readdir (dp))
{
puts (ep->d_name);
(void) closedir (dp);
}
}
else
puts ("Couldn't open the directory.");
return 0;
}
该代码有效,但是使用 GCC 编译给了我一个警告,告诉我(我在西班牙语中使用 GCC)可能会发生该变量ep
可以在未在函数中初始化的情况下使用。
我试图给变量ep
一个值以避免这个警告(编程的良好实践),但是这样做会导致程序没有做它应该做的事情。
知道发生了什么,或者我做错了什么?