PDA

View Full Version : Perchè 'sta cavolata non funziona!!!


LukA4e
12-11-2003, 18:01
in c questo listato:

#include <stdio.h>
int main (){
int b;
char tabella[30];
for(b=0;b<28;b++) {
tabella[b]= 'd';
}
printf("%s\n",tabella);


}
in windows niente problemi con visual studio ma in Linux con cc e con kdevelop mi da questi errori:

main.c: In function `main':
main.c:5: error: stray '\240' in program

Xkè??? dove sbaglio??

cionci
12-11-2003, 18:28
Devi mettere il carattere di terminazione alla stringa...
tabella[28] = '\0';

LukA4e
12-11-2003, 21:05
mi da ancora lo stesso problema... mi puoi dire esattamente dove devo inserirlo??

misterx
12-11-2003, 22:09
prova così


#include <stdio.h>
int main (){

int b;
char tabella[30];

for(b=0;b<28;b++) {
tabella[b]= 'd';
}


tabella[b]= '\0';

printf("%s\n",tabella);


}

cionci
13-11-2003, 07:47
Originariamente inviato da LukA4e
mi da ancora lo stesso problema... mi puoi dire esattamente dove devo inserirlo??
Puoi inserirlo ovunque dopo la dichiarazioen di tabella...anche come ti ha detto misterx va bene...b in quel caso è 28...

ilsensine
13-11-2003, 07:56
Originariamente inviato da LukA4e
in c questo listato:

#include <stdio.h>
int main (){
int b;
char tabella[30];
for(b=0;b<28;b++) {
tabella[b]= 'd';
}
printf("%s\n",tabella);


}
in windows niente problemi con visual studio ma in Linux con cc e con kdevelop mi da questi errori:

main.c: In function `main':
main.c:5: error: stray '\240' in program

Xkè??? dove sbaglio??
Hai editato il file con un editor (probabilmente di windows) che ha incluso un carattere spurio nel listato. Ho appena fatto copia&incolla di quello che hai scritto, e si compila bene.
Se lo apri con un editor esadecimale (ad es. khexedit) vedrai che c'è qualche carattere "alieno", non stampabile come carattere normale.

LukA4e
13-11-2003, 13:20
adesso va.. grazie..

cionci
13-11-2003, 18:04
Ciò non toglie che l'errore che ti abbiamo segnalato ci sia comunque...