Frammenti programma in C

Pivot1
Ciao a tutti.
Vorrei un parere in merito a due frammenti di codice in C.

1)Cosa stampa a video?

int i = 0;
switch(i){
case 0: i++;
case 1: i--;
case 2: i += 100;
}
printf("%d\n",i);


quindi, con la prima riga inizializzo la variabile i a 0. Successivamente ho un incremento di 1 e quindi 0+1=1; poi un decremento di 1 quindi 1-1=0 ed in fine un incremento di 100. Quindi il programma stampa 100! Giusto?


2)
int i = 0;
if (i = 1)
printf("la variabile i vale 1");
else
printf("la variabile i vale 0");


il frammento di codice dovrebbe stampare $1$ ; infatti nell'if non compare il segno di uguaglianza i==1, ma i=1 che è un assegnazione.
Se, invece compariva if( i == 1) allora sampava $1$ altrimenti $0$
E' giusto?

Grazie anticipate.

Risposte
Gummitch1
"vict85":
[quote="Gummitch"][quote="vict85"]... una assegnazione “ritorna” il valore assegnato ...
Brrr! "restituisce" (in inglese "return" però in inglese ci sono tanti "false friend" :)[/quote]

Sul momento non mi veniva il termine corretto... lo sapevo che era brutto e infatti l'ho scritto tra virgolette.[/quote]
Lo fanno tutti ;) Don't worry.
Molti dicono "confidente" per tradurre "confident" (è il guaio di leggere spesso specifiche in inglese) e addirittura "mandatorio" per tradurre "mandatory". :D
:)

Carlo.211
Chi mi sa dire cosa stampa a video questo frammento di prog c e perchè:

#include
main() {
int a,b;
a=1;
b=a--;
switch(b){
case 0: if(a>1) b++; break;
case 1: if(a<1) b--; break;
case 2: if(a==1) b+=2;
}
printf("%d\n",a);
printf("%d\n",b);
scanf("jkquv");
}
grazie anticipatamente

Carlo.211
cosa stampa, e perchè:

#include
main() {
int x = 9;
while (x != 0) {
x = x - 2;
printf(“%d”, x); }
}

Carlo.211
frammenti di linguaggio c

#include
main() {
double x = 4;
double y = 1;
double z;
z = x + y / 4;
printf(“%f\n”, z);
}

Carlo.211
framenti di codice c
cosa stampa a video
gazie

#include
int main(void) {

int a[10] = {1,2,3,4,5};
printf("a[4] = %d", *(a+4));

}

bryce1
Ciao Carlo, scusami ma non capisco il senso di queste domande/esercizi. Se fossi in te mi metterei davanti al computer e proverei a giocare con il compilatore C. Va bene un problema, ma quando ne lanci 3-4... mi viene da pensare male. Purtroppo non siamo dei "compilatori C" umani, anzi. Più che altro siamo qui per aiutare a capire eventuali errori critici, a spiegare il perché delle cose... ma non a risolvere esercizi. E quel che sembra è che tu stia mettendo gli esercizi qui nel forum sperando che qualcuno ti dia le risposte pronte.
Senza cattiveria, questo è quello che mi sembra. Dopo spero di sbagliarmi. :wink:

Piuttosto, prova a ragionarci un poco da solo, gioca con il compilatore C e prova a risolverli da solo. Se dopo averci pensato un bel pò non ne esci fuori allora chiedi tranquillamente qui ed otterrai risposte.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.