33,311
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
typedef struct node {
int data;
struct node*next;
}Node;
int main()
{
int T, n, value;
scanf_s("%d", &T);
while (T--)
{
Node *p, *q, *head = NULL, *t;
int max = INT_MIN, index = 0, num = 0;
scanf_s("%d", &n);
while (n--)
{
scanf_s("%d", &value);
index++;
if (value > max)
{
max = value;
num = index;
}
p = (Node*)malloc(sizeof(Node));
p->next = NULL;
if (head == NULL)
{
head = p;
}
else
{
q->next = p;
}
q = p;
}
printf("max=%d num=%d\n", max, num);
}
return 0;
}
程序无法运行,出现 C4703 使用了可能未初始化的本地指针变量“q” 的问题,官方的解决方法无效。
最终目的是在单链表中确定值最大的结点
[广而告之]http://t.csdn.cn/2ZOko 试试在线IDE+ChatGPT,有问题直接在IDE里求助ChatGPT
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
typedef struct node {
int data;
struct node* next;
}Node;
int main()
{
int T, n, value;
scanf_s("%d", &T);
while (T--)
{
Node* p, * head = NULL, * t;
Node* q = NULL;
int max = INT_MIN, index = 0, num = 0;
scanf_s("%d", &n);
while (n--)
{
scanf_s("%d", &value);
index++;
if (value > max)
{
max = value;
num = index;
}
p = (Node*)malloc(sizeof(Node));
p->next = NULL;
if (head == NULL)
{
head = p;
}
else
{
q->next = p;
}
q = p;
}
printf("max=%d num=%d\n", max, num);
}
return 0;
}
不知道这个对不对?