链表-c语言编译 出现error C2061 和error C2059

问题描述

c语言编译 出现error C2061 和error C2059

不知道为什么一直出现说我标识符有问题的提示,我看了下以前编的程序,好像也是这样写法的啊,不知这次怎么会这样。求各位大神相助。

 #include <stdio.h>
#include <stdlib.h> 

struct Jihe{
    char nodeSet;
    struct Jihe* next;
};

bool Initiate(struct Jihe** head){
    *head = (struct Jihe*)malloc(sizeof(struct Jihe));
    (*head)->next = NULL;
    return 1;
}

bool RecordSet(struct Jihe* head,char text[]){
    struct Jihe* set = head;
    int i = 0;
    while(text[i] != ''){
        set->next = (struct Jihe*)malloc(sizeof(struct Jihe));
        set->next->nodeSet = text[i];
        i++;
        set = set->next;
    }
    set->next = NULL;
    RankSet(&head);
    return 1;
}

bool GetAnd(struct Jihe* head1,struct Jihe* head2,struct Jihe** result){
    struct Jihe *set1 = head1,*set2 = head2,*set3 = *result;
    while(set1->next != NULL && set1->next->next != NULL){
        set3->next = (struct Jihe*)malloc(sizeof(struct Jihe));
        set3->next->nodeSet = set1->next->nodeSet;
        set3 = set3->next;
        set1 = set1->next;
    }
    while(set2->next->next != NULL){
        set3->next = (struct Jihe*)malloc(sizeof(struct Jihe));
        set3->next->nodeSet = set2->next->nodeSet;
        set3 = set3->next;
        set2 = set2->next;
    }
    set3->next = NULL;
    RankSet(result);
    return 1;
}

bool GetCross(struct Jihe** head1,struct Jihe** head2){
    return 1;
}

bool GetDiffer(struct Jihe** head1,struct Jihe** head2){
    return 1;
}

bool RankSet(struct Jihe** head){
    char rankSet[20] = {0};
    int i = 0 ,j = 0,len = 0;//len记录集合大小
    int small = 0, move;//move是用来删除元素的;
    char temp;
    struct Jihe* set = *head;
    struct Jihe* newSet = NULL;
    if(set == NULL){
        printf("空链表
");
        return 0;
    }
    while(set->next != NULL && set->next->next != ''){
        rankSet[i] = set->next->nodeSet;
        set = set->next;
        len++;
    }

    for(i = 0;i < len; i++){
        for(j = i+1;j < len;j++){
            //删除子串中相同的元素
            if(rankSet[i] == rankSet[j]){
                //当这个元素为最后一个时,将终止符前移
                for(move = j; move <= len-1; move++){
                    rankSet[move] = rankSet[move+1];
                }
                len--;
            }
            if((rankSet[small] > rankSet[j]) && rankSet[j] != '' )
                small = j;
        }
        if(rankSet[small] == '')
            break;
        temp = rankSet[small];
        rankSet[small] = rankSet[i];
        rankSet[i] = temp;
    }
    newSet = (struct Jihe*)malloc(sizeof(struct Jihe));
    head = &newSet;
    for(i = 0;i < len;i++){
        newSet->next = (struct Jihe*)malloc(sizeof(struct Jihe));
        newSet->next->nodeSet = rankSet[i];
        newSet = newSet->next;
    }
    newSet->next = NULL;
    return 1;
}

bool GetSet(struct Jihe* head,char nowSet[]){
    struct Jihe*p = head;
    int i = 0;
    nowSet = {0};
    while(p->next != NULL && p->next->next != NULL){
        nowSet[i] = p->next->nodeSet;
        p = p->next;
        i++;
    }
    return 1;
}

void main(){
    struct Jihe *set1;
    struct Jihe *set2;
    struct Jihe *result;
    char text[20] = {0};
    Initiate(&set1);
    Initiate(&set2);
    Initiate(&result);
    printf("Set1 = :");
    scanf("%s",text);
    RecordSet(set1,text);
    printf("Set2 = ");
    scanf("%s",text);
    RecordSet(set2,text);
    printf("Set1 ∪ Set2 = ");

}

解决方案

返回类型不行。或许是c语言没有bool型(忘了到底有没有了),该为int就没事了

解决方案二:

struct Jihe{
char nodeSet;
struct Jihe* next;
};

这是C++的写法,C不能这么写。

解决方案三:

C和C++混合编程(error C2059: syntax error : 'string')
C和C++混合编程(error C2059: syntax error : 'string')
cocos2d-x error C2061

时间: 2024-09-11 04:32:51

链表-c语言编译 出现error C2061 和error C2059的相关文章

error C2061: syntax error : identifier &amp;amp;#x27;CComVariant&amp;amp;#x27;

问题描述 项目是VC6转成VC2010的ATLcom工程,出现了未定义错误,可以右键定位到定义文件,但是就是一直提示error未定义那个数据类型错误,谁知道会是什么错误?请大侠不惜赐教!1>------Buildstarted:Project:VideoControl,Configuration:DebugWin32------1>stdafx.cpp2>------Buildstarted:Project:Render,Configuration:DebugWin32------2&g

c语言-C语言编译报错出现C2143

问题描述 C语言编译报错出现C2143 void Linelinktoarray(EdgePoint____* edgePoint,int *arrayx,int *arrayy,int &number,int GradMain,int &Sumx,int &Sumy); EdgePoint已定义,为嘛会出现:error C2143:语法错误:缺少")"(在"&"的前面) 解决方案 下划线呢?难道就不算定义的不部分??? 难道是你的输

单链表-c语言单向链表的问题???

问题描述 c语言单向链表的问题??? #include<stdio.h>#include<stdlib.h>struct node{ int num; struct node *next;};//构建空的链表struct node* InitList(struct node *L){ L = (struct node*)malloc(sizeof(struct node)); L = NULL; printf_s(""InitList sucess!"

c语言-C语言编译NBA数据分析系统怎么连接数据库?

问题描述 C语言编译NBA数据分析系统怎么连接数据库? 连接数据库是不是用C#好一点,哪位大神懂C的,我是小白,请教了 解决方案 c也有连接数据库的库,直接调用

C语言编译流程

    无论是高级程序设计语言还是专用程序设计语言,都不能被计算机系统直接识别,用这些语言所编写的程序代码称为源程序,源程序需要通过预先设计好的专用程序进行转换,转换为计算机系统可以识别的机器指令,然后才能交由计算机系统执行. 编辑是程序员通过编辑软件录入源代码的过程. 编译是文件录入后,使用编译程序对源文件进行编译,目标文件已经是二进制的机器代码了. 一方面有些程序使用频率高,一般程序员难以自行开发,因此编译系统通常将这些功能预先编译好,以程序库的形式提供给程序员使用. 另一方面,待开发的程序

按照向导创建基于mfc对话框程序,编译出现warning:C4819 和error:C2018

问题描述 按照向导创建基于mfc对话框程序,编译出现warning:C4819 和error:C2018 xp上安装的vs2010,代码都是默认生成的 解决方案 选择File->Advanced Save Options,再选择Unicode 或者http://blog.csdn.net/enjoy517905407/article/details/37958035 解决方案二: 改成Unicode字符集试试. 解决方案三: 你的文件内容是不是含有什么中文字符? 解决方案四: 你的文件中有看不见

c语言-关于C语言编译C51单片机程序的一点疑问

问题描述 关于C语言编译C51单片机程序的一点疑问 1.为什么两段不相干的代码会互相影响 在主程序里有一段点亮发光二极管的代码,和一段计数器计数并在数码管上显示的代码.同时工作时,二极管正常点亮,数码管几秒才点亮一回,而且十位显示是闪烁一下就不显示了2.数码管显示时,位选和段选顺序不能改变吗?按照书上的方法是先段选再位选,但是点亮的数码管是本来不应该点亮的,段选和位选顺序换了之后就能正常显示了 解决方案 问题1)你所谓的同时工作是指led亮的同时数码管也在显示,是这样的吗?单片机跑的程序都是单线

CRP多语言编译/测试插件使用之基础环境

引言 最近CRP上线了多言编译/测试插件,作为开发者,我想使用CRP对我的项目进行持续集成,那么如何顺利的完成编译/测试我的项目呢,CRP提供的编译/测试的环境是什么,支持的指令有哪些呢,本文将详细介绍多语言编译/测试插件的基础环境. 什么是CRP的插件 CRP的插件是工作流中的的节点的任务的具体实现方式,比如编译/测试任务是由多语言编译/测试插件具体实现的. 常用指令(可以在crp编译/测试任务输入框内直接输入) apt-get update && apg-get install -y

keil编译时 error C141: syntax error near &amp;amp;#39;)&amp;amp;#39;

问题描述 keil编译时 error C141: syntax error near ')' 简单的烟雾报警程序中先是缺少了lcd1602的头文件 我从网上找了添加了后发现有错误 求大神帮我解答一下疑问 谢谢了 /******************************** FILE NAME: lcd1602.c CHIP TYPE: AT89C51 CLOCK FREQUENCY: 12MHZ IDE: VSMStudio COMPILER: IAR for 8051 TIME: Sep