所以我試圖學習功能好一點,並能夠寫一個有用的,然後在遞歸和一個給予該程序的數字列表。不過,我在這裏遇到了分段錯誤。當我在argv[]
中嘗試讀取argv[i+1]
時,我覺得發生這種情況。但是,爲什麼我的if(i < argc){
語句不檢查這種情況呢?基本Bool函數給出了段錯誤
這是我的代碼。
#include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#include <stdbool.h>
bool compare(val1,val2)
{
if(val1 > val2){return false;}
else{return true;}
}
// int values[], int n
int main(int argc, char *argv[])
{
for(int i=1; i<argc; i++){
//print unsorted list
printf("%s\n",argv[i]);
if(i < argc){
if(compare(*argv[i],*argv[i+1]))
{
printf("true\n");
}
else
{
printf("false\n");
}
}
// Add else for odd numbered lists
}
return 0;
}
如果'我== ARGC - 1','的argv [I + 1]'是不確定的。 –
就是這樣,感謝您的反饋。 – Gates