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語言問題,急急急
x 1進入外switch且執行case 1,y 0進入內switch且執行case 0,輸出first 遇到break,內switch終止,case 1執行完畢 case 1後面沒有break,所以外switch不終止,繼續向下執行case 2,輸出third 所以程式執行結果為 共輸出兩行內容,第...
求愛情高手 急幫幫忙急急急急急急急急急急急急
其實人都有一種犯賤的心理在作祟,你越是去捧殺一個女孩子,她越不會在意,感情中越是逼得急,對方就越是不搭理,甚至會覺得是一種束縛更想逃跑,其實俘虜一個女孩子的心,最下乘的做法就是千依百順,她會覺得你索然無味,中乘的方法就是對她若即若離,但是你要沉得住氣,最好的辦法是求而不得,永遠不要餵飽她,她就會對你...
C語言指標急急急
無論是函式還是變數,編譯器都要求先宣告 定義,後使用,宣告和定義可以同時實現。指標也是變數,同樣適合這個原則。比如int a,p 宣告一個整形變數a,和一個整形指標p a 3 對變數a進行初始化 p a 對指標p進行初始化,編譯器已經知道p是指標,這裡將變數a的存放地址賦給指標變數p,p前不需要加星...