鱼C论坛

 找回密码
 立即注册
查看: 2222|回复: 4

SLE2课后作业代码疑问

[复制链接]
发表于 2017-9-6 18:54:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
系统:Linux deepin

问题描述:
昨天我用VI敲了一次代码,然后出现了多错误无法编译,后来不小心删掉了。
今天我用ATOM抄了一次代码,结果出现其中一个错误
“assignment makes pointer from integer without a cast ”

顺便附上写出来的代码

错误看上面

错误看上面

homework2.c.zip

841 Bytes, 下载次数: 1

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-9-6 19:44:28 | 显示全部楼层
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>

#define MAX 256

long total;

int countLines(const char *filename);
int isCode(const char *filename);
void findAllDirs(const char *path);

int countLines(const char *filename)
{
  FILE *fp;
  int count = 0;
  int temp;

  if ((fp = fopen(filename,"r")) == NULL)
  {
    fprintf(stderr,"Can not open the file; %s\n",filename);
    return 0;
  }

  while ((temp = fgetc(fp)) != EOF)
  {
    if (temp == '\n')
    {
      count++;
    }
  }

  fclose(fp);

  return count;
}

int isCode(const char *filename )
{
  int length;

  length = strlen(filename);

  if (!strcmp(filename + (length - 2),".c"))
  {
    return 1;
  }
  else
  {
    return 0;
  }
}

void findAllDirs(const char *path)
{
  DIR *dp;
  struct dirent *entry;
  struct stat statbuf;

  if (dp = opendir(path ) == NULL)
  {
    fprintf(stderr, "The path %s is wrong\n",path );
    return;
  }

  chdir(path);
  while ((entry = readdir(dp)) != NULL)
  {
    lstat(entry->d_name,&statbuf);

    if (!strcmp(".",entry->d_name) || !strcmp("..",entry->d_name))
      continue;

    if (S_ISDIR(statbuf.st_mode))
    {
      findAllDirs(entry->d_name);
    }
    else
    {
      if (isCode(entry->d_name))
      {
        total += countLines(entry->d_name);
      }
    }
  }

  chdir("..");
  closedir(dp);
}

int main()
{
  char path[MAX] = ".";

  printf("计算中……\n");

  findAllDirs(path);

  printf("目前你总共写了 %ld 行代码! \n\n",total);

  return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-6 19:51:22 | 显示全部楼层
本帖最后由 木Muk 于 2017-9-6 20:01 编辑

我还是没有搞懂原来代码的问题,上边换行的问题是ATOM的问题,但是复制小甲鱼原来代码运行成功……依旧不知道自己错在哪儿,再来一次,为什么代码是210行?
DeepinScreenshot_20170906194724.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-6 19:54:05 | 显示全部楼层
本帖最后由 木Muk 于 2017-9-6 20:00 编辑

好吧,出错在63行,少了一个括号,可是为什么运行结果是210行?小甲鱼原来代码是106行?
DeepinScreenshot_20170906195825.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-7 12:20:13 | 显示全部楼层
无人理会好恐怖……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 15:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表