Buongiorno a tutti, volevo chiedere a voi che ne saprete sicuramente piu di me di C qualche delucidazione su questo programmino che stavo svolgendo come esercizio
################################################## ##########
#include <stdio.h>
void quadrato(int a, int b);
int main()
{
int lato;
int carattere;
printf("\n\nInserire il valore del lato del nostro quadrato [-1 per terminare]\n>");
scanf("%d", &lato);
while(lato != -1)
{
printf("\nInserire il carattere che s'intende utilizzare per disegnare il quadrato\n>");
scanf("%c", &carattere);
quadrato(lato, carattere);
printf("\n\nInserire il valore del lato del nostro quadrato [-1 per terminare]\n>");
scanf("%d", &lato);
}
return 0;
}
void quadrato(int a, int b)
{
int i, j;
for(i = 1; i <= a; i++)
{
for(j = 1; j <= a; j++)
{
printf("%c", b);
}
printf("\n");
}
}
################################################## ###############
ora non so perchč ma il programma dopo avermi stampato la prima printf e avermi chiesto l'immissione del numero intero continua a ciclarmi questa richiesta invece di chiedermi di inserire il dato char, xo tuttavia se io come prima richiesta inserisco l'intero, e come secondo dato sempre sulla richiesta dell'intero gli do un char allora mi stampa quello che deve stampare.....qualcuno di voi sā perchč?????
Non capisco perchč mi salti la richiesta char, io non ci vedo nessun errore e nemmeno il compilatore me ne segnala xo non capisco questa cosa.
Un grazie anticipatamente a tutti![]()

?????
Rispondi quotando