花样小樱 发表于 2019-8-7 14:39:27

传图片传不上去,为什么是写了0行代码呢?我目录下有东西啊

zzh123 发表于 2019-8-7 17:07:20

.

020419 发表于 2019-8-7 18:06:10

最后一个源文件未编译

a84512986 发表于 2019-8-7 18:09:41

新手入手,前来学习

1175502325 发表于 2019-8-7 18:24:22

谢谢

soulingdance 发表于 2019-8-7 19:10:42

0. 计算机只能读懂0和1
1. 机器语言
2. 编译
3. 编译型语言效率高
4. 不能
5. 解释型语言先转化为中间代码,再由解释器一句一句翻译
6. 查表
7. 真的不知道是什么意思但我都逐一去查了
Q I N M E N C H E N D I R E N C H I F A N S H I F A D O N G J I N G O N G

houhy 发表于 2019-8-7 19:35:38

w70700 发表于 2019-8-7 20:38:38

66666

leon924 发表于 2019-8-7 20:47:38

做完了,看答案

atlas123 发表于 2019-8-7 20:49:10

回复查看参考答案

随疾风前行 发表于 2019-8-7 20:49:39

0.计算机工作基于二进制
1.机器语言
2.编译
3.是否在执行前将程序翻译成机器语言
4.可以
5.各个平台有相应的编译器

freeclub 发表于 2019-8-7 20:56:29

#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 = '.';
    printf("计算中...\n");
    findAllDirs(path);
    printf("目前你总共写了 %ld 行代码! \n\n", total);
    return 0;
}

自己按着抄的,但是好像有两个错误,,不知道是什么问题,,

gggjgd 发表于 2019-8-7 21:57:34

学一下

King.c 发表于 2019-8-7 22:15:30

{:5_107:}测试代码量的程序要放在哪个目录才行啊,我写出来运行起来显示0行代码- - WINDOWS的。

Swamp 发表于 2019-8-7 23:20:45

测试题

陈洛 发表于 2019-8-8 00:07:24

回复

看号鸟 发表于 2019-8-8 05:38:46

看一下的如何!

Uki3 发表于 2019-8-8 07:37:23

.

谭湘帅 发表于 2019-8-8 10:45:05

查看参考答案

半世阴霾125 发表于 2019-8-8 12:45:12

回复
页: 351 352 353 354 355 356 357 358 359 360 [361] 362 363 364 365 366 367 368 369 370
查看完整版本: S1E2:第一个程序 | 课后测试题及答案