4 つのコマンドライン引数を 4 つの int に入れようとしています。最初の引数では機能しますが、残りの引数では 0 を返します。何が間違っているのかわかりません。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
char* pEnd;
long li1, li2, li3, li4;
li1 = strtol(argv[1],&pEnd,10);
li2 = strtol(pEnd,&pEnd,10);
li3 = strtol(pEnd,&pEnd,10);
li4 = strtol(pEnd,NULL,10);
たとえば、プログラムを として実行すると./a.out -5 5 3 9
、解析された値は-5 0 0 0
.