¿Por qué en lenguaje C, cuando se ingresan juntos un entero largo sin signo y un tipo entero, al tipo entero no se le asigna un valor?
Simplemente escríbalo como scanf("ud", amp; num1, amp; num2) y elimine la l después de u porque scanf trata a l como un carácter común entre u y d, similar a la coma; , por lo que cuando ingresa dos números, no puede omitir l y asignar el valor exacto al siguiente número2;
También puede intentar ingresar 4294967295l3333, y el segundo número entero se puede asignar normalmente;
El resultado después de eliminar l es:
El código es el siguiente:
int
main(void)
{
sin firmar
largo
num1;
largo
num2;
largo
lRc=0;
lRc=scanf("ud",
amp; num1,
amp; num2) ;
//Cuando lRc es 1, significa que solo se ingresó con éxito un valor; cuando devuelve 2, significa que se ingresaron con éxito 2 valores;
printf("El la entrada es [d]: u
p>
d\n", lRc, num1, num2);
}
(Acabo de responder una vez y no sé dónde fue la respuesta.
=
= )