나는이 코드를 codeblocks (필자가 가지고있는 컴파일러 만)에 썼다. 그런 행동을 만났을 때. plz 누군가가 왜 이런 일이 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] = 4,198,582
, LOV [X] [X + 1 ] = 4
왜 ct가 5 (최후의 선)가되는지
귀하의 코드는 매우 의심 방식으로'argv'에 액세스 : 당신은 아마 당신이 겉으로
lov
쓸 시점에서ct
값을 운명. 'argv'에 접근하기 위해'for' 루프로 변환하는 것을 고려하십시오. – user7116코드의 목적은 무엇입니까? 나에게 낯선 사람으로서 그것은 전혀 이해가되지 않는다. –