Для этого кода ниже (в C)Scanf_s чтение неправильного ввода
int small_a, small_b;
printf("Please input two numbers\n");
scanf_s("%d %d", &small_a, &small_b);
printf("%d %d", &small_a, &small_b);
int test_2nd = small_a - small_b;
if (test_2nd < 0) {
printf("a is smaller %d", &small_a);
}
else {
printf("b is smaller %d", &small_b);
Значения он печатает, когда я пишу 4 и 2 представляют собой огромные шесть цифр (5504620 и 5504608 в данном случае) я не понять, где это происходит. stdio.h
был включен в качестве заголовка.
'Е ("% D% D", & small_a, & small_b);' удалить '&' -> 'printf ("% d% d ", small_a, small_b);' – BLUEPIXY
1) проверьте возвращаемое значение из любого семейства функций 'scanf()', чтобы гарантировать успешную работу. 2) при печати переменной, используя 'printf()' передать действительную переменную, а не адрес переменной. – user3629249
Предложите вам прочитать раздел «Помощь» о том, как задать вопрос. Например, когда возникает вопрос о проблеме времени выполнения, как ваш вопрос, почтовый код, который компилируется с помощью чистого кода, является небольшим и все еще показывает проблему. – user3629249