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()下面那个大括号
请问错在哪里呢?应该怎么改啊

参考技术A struct linklist
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可能不起作用

C语言指针 静态变量的调用

给定一个数组,数组内容随机,键盘输入一个数据(数字和单字符),查询是不是存在此数据 c语言代码怎么写?

如何用C语言实现RSA算法

未安装C#的 visual studio 语言支持。代码编辑intellisense 将不可用。