7 svar
53 visningar
Rita Hashim 45
Postad: 12 feb 2019 Redigerad: 12 feb 2019

Utskrift av en beräkning

Vad blir utskriften av resultatet av följande beräkning ?


int main(void)

{
double result = 1;
int val1 = 1, val2 = 2, val3 = 3, val4 = 4;

result += ++val1 * val2 + (double)((val2 * val3 + val4) % val3 / val1);

printf("%.2lf", result);

return 0; }


a. 4.00 b. 5.00 c. 5.50 d. 6.00

Tog bort dina skrikiga versaler. Det står i Pluggakutens regler (och i rutan där du skriver in din rubrik) att man skall undvika att skriva med bara stora bokstäver. /Smaragdalena, moderator

adamcl 31
Postad: 12 feb 2019

Har du testat sätta in värdena istället för variabelnamnen och sen räknat? Då är det bara två detaljer att hålla koll på, vad ++val1 innebär samt operationen %.

Laguna 5121
Postad: 12 feb 2019

När man har tänkt ut vad svaret borde bli så kan man provköra också. Blir det inte det du väntar dig kan du fråga varför.

Laguna 5121
Postad: 12 feb 2019

Hm, jag skulle aldrig ha ++variabel och samma variabel en gång till i samma uttryck. Jag tror det är odefinierat vad det blir, så uppgiftställaren ska ha smisk på fingrarna. Om nåt av de sannolika värdena är ett (och bara ett) bland svaren a-d så kan vi dock vara nöjda.

Rita Hashim 45
Postad: 12 feb 2019
adamcl skrev:

Har du testat sätta in värdena istället för variabelnamnen och sen räknat? Då är det bara två detaljer att hålla koll på, vad ++val1 innebär samt operationen %.

 hej, aa jag har försökt räkna de men när jag kommer fram till % så allt blir förstörd. kan du visa mig hur man löser det?

adamcl 31
Postad: 12 feb 2019
Laguna skrev:

Hm, jag skulle aldrig ha ++variabel och samma variabel en gång till i samma uttryck. Jag tror det är odefinierat vad det blir, så uppgiftställaren ska ha smisk på fingrarna. Om nåt av de sannolika värdena är ett (och bara ett) bland svaren a-d så kan vi dock vara nöjda.

 Jag testade kompilera koden med GCC och Clang men den gick inte igenom (unsequenced modification and access), så det är mycket riktigt felaktigt.

adamcl 31
Postad: 12 feb 2019
Rita Hashim skrev:
adamcl skrev:

Har du testat sätta in värdena istället för variabelnamnen och sen räknat? Då är det bara två detaljer att hålla koll på, vad ++val1 innebär samt operationen %.

 hej, aa jag har försökt räkna de men när jag kommer fram till % så allt blir förstörd. kan du visa mig hur man löser det?

Vet du vad % innebär? Svaret som ges är resten vid heltalsdivision. Vilken är täljaren och nämnaren, och vad bör då resten bli?

Laguna 5121
Postad: 12 feb 2019
adamcl skrev:
Laguna skrev:

Hm, jag skulle aldrig ha ++variabel och samma variabel en gång till i samma uttryck. Jag tror det är odefinierat vad det blir, så uppgiftställaren ska ha smisk på fingrarna. Om nåt av de sannolika värdena är ett (och bara ett) bland svaren a-d så kan vi dock vara nöjda.

 Jag testade kompilera koden med GCC och Clang men den gick inte igenom (unsequenced modification and access), så det är mycket riktigt felaktigt.

Det kanske har blivit förbjudet i senaste standarden. Tidigare gick det att kompilera.

Svara Avbryt
Close