[C++] Varför får jag segfault? (löst)

Permalänk
Medlem

[C++] Varför får jag segfault? (löst)

#include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { if(argc < 1) return 1; if(!atoi(argv[1])) printf("Error."); else printf("Success."); return 0; }

(gdb) backtrace #0 0x00000034cd239f54 in ____strtoll_l_internal () from /lib64/libc.so.6 #1 0x00000034cd236fa0 in atoi () from /lib64/libc.so.6 #2 0x000000000040061b in main ()

Jag får segfault när jag inte lägger till några argument, men jag kollar ju så att argc är större än noll innan jag gör atoi(). Någon som vet vad som händer här?

Edit:

Kom på det; jag tänkte fel ang. argc. Det ska vara mindre än två, inte ett.

Visa signatur

Osocial, instängd och förbannad.