#include<stdio.h>
int main()
{
short a, b, c;
printf("Enter the values of a, b and c: ");
scanf(" %d %d %d ", &a, &b, &c);
if(a<b && a<c)
printf("a is smaller");
else if(b<a && b<c)
printf("b is smaller");
else
printf("c is smaller");
return 0;
}
Für den Eingang a=10
, b=12
, c=13
, gibt es den Ausgang "c ist kleiner"?Kurz funktioniert nicht, aber Int funktioniert?
Und wenn ich die short
durch int
ersetze gibt es korrekte Ausgabe. Ich habe auch die %h
, %i
versucht, aber es gibt die gleichen aus.
Was läuft falsch?
Es ist UB zu vermeiden, werden Sie vorbei 'short' statt' int', dass der Typ für '% erwartet d 'format specifier – LPs
Undefiniertes Verhalten ist nicht definiert. –
Gehen Sie davon aus, dass 'short' und' int' die gleiche Breite haben? –