#include <stdio.h>
#include <string.h>

void removeWhitespace(char* str) {
    int i = 0, j = 0;
    while (str[i]) {
        if (str[i] != ' ' && str[i] != '\t' && str[i] != '\n') {
            str[j++] = str[i];
        }
        i++;
    }
    str[j] = '\0';
}

void removeFunctionName(char* str, char* functionName) {
    int i = 0, j = 0;
    int functionNameLen = strlen(functionName);
    while (str[i]) {
        if (strncmp(&str[i], functionName, functionNameLen) == 0 &&
            (str[i + functionNameLen] == ' ' || str[i + functionNameLen] == '(')) {
            i += functionNameLen;
            while (str[i] && str[i] != ')') {
                i++;
            }
            if (str[i] == ')') {
                i++;
            }
            continue;
        }
        str[j++] = str[i++];
    }
    str[j] = '\0';
}

int main() {
    FILE* inputFile = fopen("input.c", "r");
    FILE* outputFile = fopen("output.c", "w");

    char line[100];
    while (fgets(line, sizeof(line), inputFile)) {
        removeWhitespace(line);
        removeFunctionName(line, "getMax");
        removeFunctionName(line, "getMin");
        fputs(line, outputFile);
    }

    fclose(inputFile);
    fclose(outputFile);

    return 0;
}
``
c语言编写程序【问题描述】程序相似性比较方法之一就是将源程序中无关信息如变量名、函数名、空白符及注释等删除后的代码进行比较。编写程序将当前目录下C源文件inputc中的自定义函数名、空白字符删除后写到另一个文件outputc中。【输入形式】要处理的C源文件名为inputc在当前目录下并假设该文件符合以下条件:1、所有自定义的函数都在main函数之前有函数原型说明;2、自定义函数的个数不超过10个函

原文地址: http://www.cveoy.top/t/topic/hyTs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录