|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2003
Messaggi: 2155
|
[C] dubbi su un programmino per i/o stringhe
Ho scritto questo programmino che prende in input delle stringhe e le stampa quando si è terminato. L'acquisizione delle stringhe termina quando si digita un carattere vuoto.
Eccolo: Codice:
#include <stdio.h>
int main()
{
int t, i;
char stringa[100][80];
printf("Digita le stringhe: \n\n");
for(t=0;t<100;t++) {
printf("Stringa %d: ", t);
gets(stringa[t]);
if(!*stringa[t]) break; // ecco la riga incriminata
}
printf("\n");
for(i=0;i<t;i++) printf("%s\n", stringa[i]);
system("pause");
}
... ...so che quell'asterisco indica un puntatore, ma non ho ancora affrontato l'argomento, quindi non so esattamente cosa voglia dire... ..il punto è che non vedo perchè non funziona senza asterisco: !stringa[t] dovrebbe - in caso la stringa fosse 0 - porre il valore a 1, e quindi svolgere i ciclo if... come mai non lo fa?
__________________
Asus P4C800 ► Northwood-C 2,8 GHz @ 3,4 GHz ► Thermalright SP94 |
|
|
|
|
|
#2 | |||
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16214
|
Quote:
Usa fgets. Quote:
Perciò, se fai il confronto su stringa[t], ottieni sicuramente un valore diverso da 0; se invece lo fai su *stringa[t] (che peraltro è lo stesso che stringa[t][0]), allora ottieni 0 se e solo se hai dato in input una stringa vuota. Quote:
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|||
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Mar 2003
Messaggi: 2155
|
Quote:
... ....allroa vedrò di approfondire la questione dei puntatori! Grazie dei sgguerimenti!
__________________
Asus P4C800 ► Northwood-C 2,8 GHz @ 3,4 GHz ► Thermalright SP94 |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
prova a scaricarti qualche manuale nuovo
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Mar 2003
Messaggi: 2155
|
Quote:
__________________
Asus P4C800 ► Northwood-C 2,8 GHz @ 3,4 GHz ► Thermalright SP94 |
|
|
|
|
|
|
#6 | |
|
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16214
|
Quote:
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2003
Messaggi: 2155
|
il manuale che ho io si riferisce appunto all'ANSI C, è l'edizione corretta secondo questo standard!
__________________
Asus P4C800 ► Northwood-C 2,8 GHz @ 3,4 GHz ► Thermalright SP94 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:48.



















