c语言:IntelliSense: 不存在从 "int" 转换到 "linklist" 的适当构造函数 计算链表节点的程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言:IntelliSense: 不存在从 "int" 转换到 "linklist" 的适当构造函数 计算链表节点的程序相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include<stdlib.h>
#include<windows.h>
struct linklist
int data;
linklist *next;
/*定义链表*/
main()
printf("请输入整型\n");
int ListLength(linklist *head);
linklist *p,*head; /*p,*head是指向这种结构的指针*/
head=(linklist*)malloc(sizeof(struct linklist));
head->next=NULL;
head->data=NULL;
while(1)
scanf("%d",&(p->data)); /*头插法*/
if((p->data)==32767) break;
p=(linklist*)malloc(sizeof(struct linklist));
p->next=head->next ;head->next =p;
printf("链表长度为%d",ListLength(head));
int ListLength(linklist *head) /*定义结点计算函数(排除头结点)*/
linklist *q;
q=head;
int len =0;
while(q->next)
q=q->next;
len++;
return len;
错误在第9行,就是main()下面那个大括号
请问错在哪里呢?应该怎么改啊
int data;
linklist *next;
; /*定义链表*/
struct定义后面拉了一个分号 参考技术B #include <stdio.h>
#include<stdlib.h>
#include<windows.h>
typedef struct linklist
int data;
struct linklist *next; //少了struct.
Linklist ; /*定义链表*/ //少了分号.
main()
Linklist *p,*head; /*p,*head是指向这种结构的指针*/
int ListLength(Linklist *head); //声明要放在前面。
printf("请输入整型\n");
head=(Linklist*)malloc(sizeof(Linklist));
head->next=NULL;
head->data=NULL; //这行有问题怎么把指针类型的赋给整形数据。这行自己改,其他的问题我都改了。
while(1)
scanf("%d",&(p->data)); /*头插法*/
if((p->data)==32767) break;
p=(Linklist*)malloc(sizeof(Linklist));
p->next=head->next ;head->next =p;
printf("链表长度为%d",ListLength(head));
int ListLength(Linklist *head) /*定义结点计算函数(排除头结点)*/
Linklist *q;
int len =0;
q=head;
while(q->next)
q=q->next;
len++;
return len;
//编译可以通过了追问
谢谢。除了一个scanf的警告,其他都通过了,但是没有结果啊。输入数字,然后按回车键毫无反应时怎么回事?
追答你的这个程序是题目要求是什么?
追问统计链表的结点个数
比方说我输入1,按回车,应该显示1,因为链表中只有一个结点。现在我这个程序按回车毫无反应
那是因为你输入判断结束的条件是 if((p->data)==32767) break;所以你要输入32767才会结束,之前那个程序你还少了句p=head;放在while(1)前面,我试过了可以。
本回答被提问者采纳以上是关于c语言:IntelliSense: 不存在从 "int" 转换到 "linklist" 的适当构造函数 计算链表节点的程序的主要内容,如果未能解决你的问题,请参考以下文章
如何摆脱“Intellisense:没有合适的转换函数从“std::string”到“std::string *”存在”错误?
VS2015提示:未安装Style的Visual Studio语言支持,代码编辑Intellisense将不可用。服务器控件的标记Intellisense可能不起作用