Ich habe eine Funktion, die die angegebenen Argumente hinzufügt und das Ergebnis ausgibt.So ändern Sie Datentypen in c
Mit ganzen Zahlen gab es überhaupt keine Probleme. Benutze atoi, um String-Argument zu ändern -> int.
z.B. : ./main 3 4 5 wird gedruckt 12.
Aber wenn ich ./main 4.5 6 5.5 habe? Wie mache ich so etwas in C? Wie kann die Funktion "sehen", dass es die Argumenttypen jetzt ändern muss?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int i , sum = 0;
for(i=1; i < (argc); ++i)
sum += atol(argv[i]);
printf("%d\n", sum);
return 0;
}
einfach gut ^^. Ich habe vergessen, das falsche Eingabeproblem hinzuzufügen. zB .: ./main 4 4 n 5 Es sollte einen Hinweis geben, dass etwas nicht stimmt. Anstatt nur das n aus der Gleichung zu lassen. – letter
@letter Sie sollten die Antwort akzeptieren, da es Ihre Frage beantwortet. :) Für das, was du vergessen hast, benutze 'isdigit()' (oder lies das: http://stackoverflow.com/questions/16644906/how-to-check-if-a-string-is-a-number). Wenn Sie immer noch Probleme haben, posten Sie eine neue Frage und teilen Sie den Link bitte mit mir. :) – gsamaras