7 svar
158 visningar
Rita Hashim 49 – Fd. Medlem
Postad: 12 feb 2019 01:45 Redigerad: 12 feb 2019 08:04

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 28 – Fd. Medlem
Postad: 12 feb 2019 06:23

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 28536
Postad: 12 feb 2019 15:31

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 28536
Postad: 12 feb 2019 15:34

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 49 – Fd. Medlem
Postad: 12 feb 2019 16:58
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 28 – Fd. Medlem
Postad: 12 feb 2019 20:34
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 28 – Fd. Medlem
Postad: 12 feb 2019 20:36
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 28536
Postad: 12 feb 2019 21:29
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