Em viết code bài tìm ngày kế tiếp tự dưng bị lỗi c4700:uninitialized local variable ‘x’ used
tiền bối nào giải thích giúp với
#include <stdio.h>
#include <conio.h>
typedef struct
{
int ngay;
int thang;
}ngaythang;
ngaythang nhap(char *m);
void xuat(ngaythang n);
ngaythang ngayketiep(ngaythang n);
void main()
{
ngaythang n,ngaykt;
n = nhap("moi nhap ngay thang");
ngaykt = ngayketiep(n);
xuat(ngaykt);
_getch();
}
ngaythang nhap(char *m)
{
ngaythang n;
printf(m);
do
{
printf("moi nhap ngay: ");
scanf_s("%d", &n.ngay);
if (n.ngay > 31 || n.ngay < 1)
printf("khong thoa man moi nhap lai
");
} while (n.ngay>31 || n.ngay < 1);
do
{
printf("moi nhap thang: ");
scanf_s("%d", &n.thang);
if (n.thang>12 || n.ngay < 1)
printf("khong thoa man moi nhap lai
");
} while (n.thang>12 || n.thang < 1);
return n;
}
void xuat(ngaythang n)
{
printf("ngay %d, thang %d", n.ngay, n.thang);
}
ngaythang ngayketiep(ngaythang n)
{
ngaythang x;
//tim ngay ke tiep
if (n.ngay != 30 && n.ngay != 31)
x.ngay++;
else
if (n.ngay == 30)
switch (n.thang)
{
case 4:
case 6:
case 9:
case 11:
x.ngay = 1;
break;
case 2:
printf("thang 2 ko co ngay 30");
break;
default:
x.ngay = 31;
break;
}
else
{
switch (n.thang)
{
case 4:
case 6:
case 9:
case 11:
printf("thang nay khong co ngay 31");
break;
case 2:
printf("thang 2 khong co ngay 31");
break;
default:
x.ngay = 1;
break;
}
}
//tim thang ke tiep
if (n.thang == 12)
x.thang = 1;
else
x.thang++;
return x;
}