potrebbe essere che si incasina con le precedenze degli operatori..Originariamente inviato da rikka84
Ora mi da un errore di memoria!!! Ti posto tutto il prog...
#include <stdio.h>
int codice(u)
char*u;
{
register i,s=0;
int l,t;
l=strlen(u);
for (i=0;i<l;i++)
{
t=(u[l-i-1]-'0')*(1+((i+1)%2));
s+=t<10 ? t:t-9;
}
return 10-s%10;
}
int main (argc, argv)
int argc;
char*argv[];
{
while (-argc)
printf ("%d\n", codice(*(++argv)));
}