1樓:匿名使用者
tmpbuff[4]不在陣列tmpbuff中,所以它的值是未知的。
tmpbuff只有tmpbuff[0]~tmpbuff[3]這四個元素。
在while()迴圈後面再加一個if判斷就可以了!
要限制tmpbuff[0]不能等於0,只需要修改原程式中的if語句,修改後的程式如下:
像這樣:
#include
#include
void main(int argc, char *argv)else
}else
else
tmpbuff[i++] = num_val;
num_count=0;
num_val= 0;
}++str;
}tmpbuff[i] = num_val;
i=0;
}if(dot_count!=3)
//加一個if語句
if (tmpbuff[3]>255||tmpbuff[3]<0)while(i<4)
printf("correct:%d\n",tmpbuff[i++]);}
2樓:匿名使用者
你的最後一個數沒有做判斷,因為*str='\0'的時候while已經結束啦,下面這個沒有執行,所以1.1.1.256是合法的,而1.256.1.1通不過
else
修改後的**
##include
#include
void main(int argc, char *argv)else
} else
else
tmpbuff[i++] = num_val;
num_count=0;
num_val= 0;
} if(!(*str))
++str;
} tmpbuff[i] = num_val;
i=0;
} if(dot_count!=3)
if(tmpbuff[0] == 0)
while(i<4)
printf("correct:%d\n",tmpbuff[i++]);}
c語言的幾道考題,請各位高手幫忙,急!!!(追加50分)
3樓:匿名使用者
1.到3.這是有bai題解吧。du
4.1 2 3 4
5.貌似是zhi個完整的。
6.include
int stu(int a,int b,int c);
void main()
int stu(int a,int b,int c)7.題乾沒看dao明白。。。不
版知道輸出什麼權。
8.include
void main()
for(j=0;j<15;j++)
printf("%d",b[j]);
}9. 2 ; 8
10.3/2;
11.(1)4,1;(2)1;(3)5,6;
C語言 急急急急 c語言的問題 急急急急
for i 0 i 3 i for j 0 j 4 i 這裡zhi寫錯了。應該是j 修改後 define m 3 define n 4 main max a 0 0 for i 0 i 3 i daofor j 0 j 4 j if a i j max 程式寫的很好,貌似少了個開頭的 include...
C語言問題急急急,C語言問題。。。急急急。
for i 0,j 0 i 10 修改為for i 0,j 0 i 10 你定義的陣列d 10 有10個元素 下標從0開始,到9結束 如果是 for i 0,j 0 i 10 的話,會訪問d 10 陣列越界 就出現你所說的錯誤了 int p int q,int p 傳入引數有問題,修改靠你自己了 找...
高手幫忙,急急急,急急急,請高手幫忙,謝謝
配置 品牌型號 數量 單價 選用。cpu amd 速龍ii x2 245 1 445主機板 華擎 a770de 1 439記憶體 金士頓 2gb ddr2 800 窄板 1234 240硬碟 希捷 500gb 16m 串列埠 散 1234 365顯示卡 昂達 hd4830 512mb 神戈 1234 599...