谢谢大家回答我的第一个问题,但我还有一个问题。我这里有这个使用 strtol() 函数的代码。它可以工作,但问题是,如果我输入以下三个选项之一: (d 2) 它被视为一个字符串,如果 Input (2d) 它是一个字符串,并且 (d2) 是一个字符串。有没有办法检测数组中的数字?
char userInput[256];
char *end;
printf("Please enter your name: ");
scanf("%s", userInput);
int userName = strtol(userInput, &end, 10);
if (!*end)
{
printf("You have enter an int");
}
else
{
printf("You have entered a string");
}