Frammenti programma in C
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.
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
"vict85":Brrr! "restituisce" (in inglese "return" però in inglese ci sono tanti "false friend"
[quote="Gummitch"][quote="vict85"]... una assegnazione “ritorna” il valore assegnato ...

Sul momento non mi veniva il termine corretto... lo sapevo che era brutto e infatti l'ho scritto tra virgolette.[/quote]
Lo fanno tutti

Molti dicono "confidente" per tradurre "confident" (è il guaio di leggere spesso specifiche in inglese) e addirittura "mandatorio" per tradurre "mandatory".


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
#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
cosa stampa, e perchè:
#include
main() {
int x = 9;
while (x != 0) {
x = x - 2;
printf(“%d”, x); }
}
#include
main() {
int x = 9;
while (x != 0) {
x = x - 2;
printf(“%d”, x); }
}
frammenti di linguaggio c
#include
main() {
double x = 4;
double y = 1;
double z;
z = x + y / 4;
printf(“%f\n”, z);
}
#include
main() {
double x = 4;
double y = 1;
double z;
z = x + y / 4;
printf(“%f\n”, z);
}
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));
}
cosa stampa a video
gazie
#include
int main(void) {
int a[10] = {1,2,3,4,5};
printf("a[4] = %d", *(a+4));
}
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.
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.
Senza cattiveria, questo è quello che mi sembra. Dopo spero di sbagliarmi.

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.