用-l表示最大值,-s表示最小值,如果用戶輸入無效選項,程序應該顯示錯誤信息。我必須編碼運作。指針和整數比較警告C
當前錯誤是第一個和第二個if()語句內指針和整數的比較。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *numbers[])
{
//variables needed
int i,temp,max,min;
//find largest (-1)
if (!(strcmp(numbers[1],"-1")))
{
max = atoi(numbers[2]);
for (i=2;i<argc;i++)
{
if(numbers[i] >= 'a' && numbers[i] <= 'z')
{
printf("bad input");
}
else if(numbers[i] >= 'A' && numbers[i] <= 'Z')
{
printf("bad input");
}
else
{
temp = atoi(numbers[i]);
if (max<temp)
{
max = temp;
}
}
}
//output after loop
printf("\nThe largest number is %d\n",max);
}
else if (!(strcmp(numbers[1],"-s")))
{
min = atoi(numbers[2]);
for (i=2;i<argc;i++)
{
temp = atoi(numbers[i]);
if (min>temp)
{
min = temp;
}
}
printf("\nThe smallest number is %d\n",min);
}
else
{
}
return 0;
}
那麼,你想通過'numbers [i]> ='a''比較來實現什麼?它應該與什麼比較? – AnT