我正在代码块(只有编译器我有)编写此代码。当我遇到这样的行为。有人建议为什么这与ct发生,我错过了什么。为什么这种不确定性增值?
#include <stdio.h>
int main(int argc,char* argv[])
{
int lov[3][2]={0};
int ct=0;
char* art;
if(argc!=4)
return 1;
art=argv[1];
do
{
if(*art=='L' & *(art+1)=='o' & *(art+2)=='c')
{
printf("\n\n (art+3)=%s ,*(art+3)=%c ,*(art+5)=%c",(art+3),*(art+3),*(art+5));
lov[ct][ct]=*(art+3)-48;
lov[ct][ct+1]=*(art+5)-48;
printf("\nct=%d,lov[x][x]=%d,lov[x][x+1]=%d ",ct,lov[ct][ct],lov[ct][ct+1]);
ct++;
}
art+=3;
}
while(*(art++));
getchar();
}
而就命令提示: -
>Resol.exe Loc2,5 Loc3,8 Loc5,4
Output:-
(art+3)=2,5 ,*(art+3)=2 ,*(art+5)=5
ct=0,lov[x][x]=2,lov[x][x+1]=5
(art+3)=3,8 ,*(art+3)=3 ,*(art+5)=8
ct=1,lov[x][x]=3,lov[x][x+1]=8
(art+3)=5,4 ,*(art+3)=5 ,*(art+5)=4
CT = 5,LOV [X] [X] = 4198582
,LOV [X] [X + 1 ] = 4
为什么ct变为5(最后一行)
你的代码访问'argv'在一个非常可疑的方式。考虑转换为'for'循环来访问'argv'。 – user7116 2012-01-16 17:06:55
代码的用途是什么?对我来说,作为一个陌生人,它确实没有任何意义。 – 2012-01-16 17:11:01