Jak uwzględnić 0 przy a!=0 w C

0

Witam, dopiero zaczynam programować ,także proszę o wyrozumiałość. Mam problem z uwzględnieniem 0 jako dobry input. Program ma prosić o dwie liczby i podać ich sume, a przy wpisaniu błędnych danych wyświetlić komunikat Incorrect input, Także po wpisaniu liter lub innych znaków program działą normalnie ale przy wpisaniu 0 , otrzymuje incorrect input.

#include <stdio.h>


int main()

{
	int a=0;
	int b=0;
	
	printf ("podaj 2 liczby calkowite oddzielone spacja: ");
	scanf ("%d %d",&a, &b);
	
	if(a&&b !=0)
	{printf ("%d",a+b);}
	
	
	else
	
	{printf("Incorrect input");
	return 1;}
	
	return 0;
	
}
2

Sprawdzaj wartość zwracaną scanf, a nie wartości wczytane.

scanf() zwraca liczbę poprawnie wczytanych danych:

if(scanf("%d %d", &a, &b) == 2) {
    // ok
} else {
    // error
}
0
if(a&&b !=0)

A taki zapis to jest poprawny?

3
Serechiel napisał(a):

if(a&&b !=0)

A taki zapis to jest poprawny?

Przez przypadek bo przez przypadek, ale tak :​D Jest równoważny if(a && (b != 0)) czyli if(a && b)

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