关于小甲鱼视频中单链表的问题
本帖最后由 Piziaa 于 2018-3-9 19:58 编辑为什么小甲鱼在linux中可以直接运行,而我使用dev c++和vs2017 运行后都会在输入一个数字+回车后,卡死.
内存和cpu也没用明显变化.
但是输入-1却可以直接退出.
这道题是s1e43中视频的题,是我代码哪写错了吗,我是按照小甲鱼的答案写的,也对照过.
#include <stdio.h>
#include <stdlib.h>
struct Node
{
int value;
struct Node *next;
};
void printNode(struct Node *head)
{
struct Node *current;
current = head;
while (current != NULL)
{
printf("%d", current->value);
current = current->next;
}
putchar('\n');
}
void insertNode(struct Node **head, int value)
{
struct Node *previous;
struct Node *current;
struct Node *new;
current = *head;
previous = NULL;
while (current != NULL && current->value < value)
{
previous = current;
current = current->next;
}
new = (struct Node *)malloc(sizeof(struct Node));
if (new = NULL)
{
printf("内存分配失败!\n");
exit(1);
}
new->value = value;
new->next = current;
if (previous == NULL)
{
*head = new;
}
else
{
previous->next = new;
}
}
int main(void)
{
struct Node *head = NULL;
int input;
while (1)
{
printf("输入一个值(-1表示结束 ):");
scanf_s("%d", &input);
if (input == -1)
{
break;
}
insertNode(&head, input);
printNode(head);
}
return 0;
} 还有想问一下:为什么编译产生的程序,如果是鼠标双击打开就会秒退? new不是关键字吗?为什么能直接使用? Piziaa 发表于 2018-3-9 19:57
new不是关键字吗?为什么能直接使用?
谁告诉你 new 是C语言的关键字?
这是C语言,不是C++
人造人 发表于 2018-3-9 21:03
谁告诉你 new 是C语言的关键字?
这是C语言,不是C++
dev c++里新建源代码默认是cpp文件,new是c++里的关键字{:10_277:} 统冠陶瓷 发表于 2018-5-10 21:07
dev c++里新建源代码默认是cpp文件,new是c++里的关键字
页:
[1]