カウンタc
が最初に初期化されずにforループでインクリメントされている理由を理解できますか?カウンタ "c"がforループでインクリメントされずに初期化されない1
#include<stdio.h>
int main(){
char s1[50];
char s2[50];
int i,c,j,l;
printf("enter first name: ");
scanf("%s",s1);
printf("enter last name: ");
scanf("%s",s2);
for(i=0;i<50&&s1[i]!='\0';)
{
i++;
c++;
}
l=c-1;
for(j=0; j<50 && s2[j]!='\0'; j++)
{
s1[l]=s2[j];
l++;
}
for(i=0; s1[i]!='\0' && i<l; i++)
{
printf("%c",s1[i]);
}
return 0;
}
それが働いていた場合*不運*自分で考えてみましょう。それは起こった未定義の行動と呼ばれるものです。結果は何でもできました。ところで、あなたはあなたのコードをインデントし、きれいに十分な間隔で書くべきです。私を信じて、あなたは後でそれをしたことをうれしく思います。 –
書籍を読んで先生に相談してください。この質問への答えはあなたの一時的な問題を解決してそれを治しません。 – user902384