Кажется, вы имеете в виду следующее
int success = argv[1][0] != '\0';
for ( size_t i = 0; success && argv[1][i] != '\0'; i++ )
{
success = isdigit( ( unsigned char )argv[1][i] ) != 0;
}
if ( !success )
{
printf( "FAIL %s\n", argv[1] );
}
else
{
printf( "PASS %s\n", argv[1] );
}
То есть вы хотите проверить, что первый параметр командной строки представляет число.