#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” 的问题,官方的解决方法无效。
最终目的是在单链表中确定值最大的结点