PDA

View Full Version : [C] Ciclo for e type casting


salvodel
11-03-2008, 11:10
Parto direttamente con il problema sperando che si capisca meglio

int main()
{
int i;
double num;

.................

for(i=0;i<num;i++)
.................
}

Quando compilo con gcc ho il seguente warning
warning: conversion lacks type at end of format
Me lo immaginavo ed ho provato le seguenti soluzioni:
for(i=0;i<((int)num);i++)
for(i=0;i<(int)num;i++)
Anche cosi continuo ad avere lo stesso warining. Allora mi sa che non ho capito il warning:confused: ?
Come posso eliminarlo? Non posso dichiarare num come intero poiche...va be non credo che sia interessante:zzz: .
Grazie per l'aiutino.
Ciao

salvodel
11-03-2008, 11:17
Risolto...non era quello il problema ma stava sulla stessa riga:muro: .
Visto che ci siamo: quale delle due soluzione è la migliore? La seconda ha due parentesi di troppo?
Grazie di nuovo e scusate il disturbo.

wingman87
11-03-2008, 11:27
for(i=0;i<((int)num);i++)
Questa ne ha due di troppo. Ma le parentesì in più (se sono nei posti giusti) non fanno male

salvodel
11-03-2008, 12:23
for(i=0;i<((int)num);i++)
Questa ne ha due di troppo. Ma le parentesì in più (se sono nei posti giusti) non fanno male

Infatti per adesso l'ho scritto cosi. Il problema è che non mi ricordo le priorità: mi fa prima il < o il ()? Va be per adesso vado avanti cosi.
Grazie ciao.

PS
L'abbondanza non crea problemi ma lo rende un po piu pesante da leggere;) e brutto. (((5)*(4))-(1))=5*4-1 se lo vede anche un maestro delle elementari ti tocca riempire un quaderno intero stile Bart:D

banryu79
11-03-2008, 13:01
Magari puoi separare le cose con gli spazi, tipo:

for(i=0; i<((int)num); i++)


io di solito uso questo stile:


for( i = 0; i < (int)num; i++) {
// loop code here
}

wingman87
11-03-2008, 14:21
PS
L'abbondanza non crea problemi ma lo rende un po piu pesante da leggere;)
Sì, intendevo solo dire che non da problemi al compilatore, quindi se non sei sicuro metti pure tutte le parentesi che vuoi ;)