Red de conocimientos sobre prescripción popular - Enciclopedia de Medicina Tradicional China - Supongamos que las variables enteras X, Y y Z son todas 5, entonces: ① Después de ejecutar x-=y-z, el valor de

Supongamos que las variables enteras X, Y y Z son todas 5, entonces: ① Después de ejecutar x-=y-z, el valor de

La primera pregunta: a*=16+(b++)-(++c) es equivalente a A *(16+(b++)-(++c)); primero :(b++), después de usar B, B aumenta en 1, entonces (b++)=3 (++C), antes de usar C, C aumenta en 1, entonces (++C)=5; Luego se calculará mediante una combinación de suma y resta. "De izquierda a superior", entonces 16+(b++)-(++c)= 14, luego a*(16+(b++)-(++c))=28, entonces a = 28

Pregunta 2: El resultado debería ser 1, porque el rango numérico del tipo corto sin signo es de 0 a 65535, (-! Khan, puedes encontrar un libro de programación en c\c++, donde puedes encontrar el rango numérico del tipo de datos .) Debido a que el rango de int es mucho mayor y dado que con signo se almacena en forma de complemento, mientras que sin signo significa que todos los bits binarios se representan a sí mismos, el resultado de salida del programa es -1;

Pregunta 3 : x /y=0.5, pero debe convertirse automáticamente al tipo int, por lo que x/y=0, por lo que el valor de 1.x/y es 1.0;

Pregunta 4: x-= yz es equivalente a x=x -(yz). Utilice el algoritmo de la escuela primaria para calcular X-(Y-Z) = 5, y el valor de X es 5;

X%=y+z es equivalente a x=x%(y+x), porque x%(y+ x)=0.5, y debido a que X e Y son números enteros (int), el valor de \n ", (++x+y++), z+2); # d & amp es la salida de caracteres, %d es el resultado de la primera expresión (de izquierda a derecha), es decir (++x+y++) . Primero, se ejecuta el operador de incremento. El valor de ++x es 4 y el valor de y++ es 3, por lo que (++x+y++) = 7, por lo que el resultado de la ejecución del programa es # d & 7;

Pregunta 6: Creo que tu problema es que copié la pregunta incorrecta "a=2, b=3, c=4.5, y=1.6", donde C debería ser x, esta pregunta es así. Primero ejecute (int) x = 4, (int) = 1 y luego ejecute (int).

Pregunta 7:-! ¿Copié la pregunta equivocada?

Principal()

{int i, j, m, n;

I = 8

j = 3; /p>

m = ++ I;

n = j-;

printf("%d, %d, %d, %d, I, j, m, n "); }/*Creo que es printf("%d, %d, %d ", I, j, m, n); */

m = ++ I; por lo tanto, m=9, donde I es 9, esto es fácil de entender (primera pregunta cuando se ejecuta j por primera vez, n = j-, donde n = 3, j = 3; , printf se ejecuta ("%d, %d, %d, %d, I, J, m, n) declaración, donde J es 2.

Entonces el resultado de la ejecución es: 9, 2, 9, 3.

Pregunta 8: Debido a que a & gtb & gtc es verdadero, el valor 1 se usa para representar verdadero y 0 es falso, entonces m = 1, por lo que el valor de la expresión m = a & gtb & gtc es 1;

Pregunta 9: ¿Copiar la pregunta incorrecta nuevamente? - -! "b=2"

¡Ejecutar primero! , a & gtb es verdadero. & gta es falso, a

Pregunta 10: La respuesta definitivamente es 0 "Supongamos que a = 3, b = 4, c = 5, ¡entonces la expresión! (x = a) & (y = b) & El valor de 0 es "Por favor, dígame si puede resolver este problema, yo no puedo. (Pero puede estar seguro de que su valor es 0, porque Los datos detrás de esto expresión es 0. ) Si reescribe la pregunta de esta manera, "10.

Supongamos a=3, b=4, c=5, ¡entonces la expresión! (c = a)& (c = b)& Si el valor de 0 es ", tengo una idea de qué hacer. Primero, (c=a) es falso. (c =a) es verdadero, (c= b) es falso! (c = a)amp;& amp(c=b) es falso! (c = a)amp;& amp(c = b)& amp;& amp0 es falso, lo que significa 0;

Si tu problema no se ha resuelto, puedes agregar mi cuenta Baidu HI