c|=0
c=0
Non funzionera' MAI
Lo so che cosa vuoi fare, MA
1) gli operatori di confronto che vuoi usare NON SI SCRIVONO COSI'
2) devi SEMPRE (MA SEMPRE, SEMPRE, che dico, SEMPRE, SEMPRE, SEMPRE, ...) RICORDARE che non si possono MAI confrontare i numeri con la virgola per "UGUALE/NON UGUALE", perche' c'e' SEMPRE (ma che dico, SEMPRE, SEMPRE, ... ) (nel 99.9999% dei casi) un PICCOLISSIMO errore, per quanto insignificante, che fa si che l'uguaglianza NON SIA VALIDA.
Quando devi confrontare due numeri con la virgole per uguaglianza DEVI SEMPRE prendere in cosiderazione che i due numeri sono uguali A MENO DI UN PICCOLO ERRORE che puoi decidere di volta in volta (NON ESISTE un valore fisso, per N-milioni di motivi che non si possono descrivere tutti in una riga).
#include<stdio.h>
#include <math.h>
int main(int argc, char** argv) {
double x, y;
for (int i=1; i<256; ++i) {
x = 1./i;
y = x*i;
if (y != 1)
printf("1/%d -> no (%g)\n", i, abs(1-y));
}
}