Program w pewnym momencie przestał odpowiadać.

0

Postanowiłem nauczyć się C, więc wymyśliłem prosty program ale na starcie wita mnie błąd o treści "Program new.exe przestał działać". Program ma za zadanie przestawić listę opcji, użytkownik ma wybrać jedną a program zrobić swoje. Niestety widzę tylko te opcje, a po wpisaniu 1, 2 lub 3 (i wciśnięciu Entera) program przestaje odpowiadać. Tego "lol" też nie widze :/

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX 32

int main(void)
{
	int y;
	int x;
	printf("1. Opcja1.\n2. Opcja2.\n3. Opcja3\n");
	scanf("%D", X);
	printf("lol");
	
	if (X == 1)
	{
	// ...	
	}

Jaki jest tego powód?

0

Lenistwo!

Skoro widzisz opcje - wynik linijki trzeciej, ale "lola" z piątej już nie, to nawet wiewiórka by się zorientowała, że błąd jest w czwartej.

No to otwierasz sobie teraz dokumentację, patrzysz na funkcję scanf i czytasz czarno na białym:

These arguments are expected to be references (pointers): if you want to store the result of a fscanf operation on a regular variable you should precede its identifier with the reference operator, i.e. an ampersand sign (&).

I jeszcze jedno: nie %D, a %d.

1 użytkowników online, w tym zalogowanych: 0, gości: 1