まず、下手な英語についてお詫び申し上げます。
次の簡単なプログラムでは、
void fx(int *a){
for(int i=*a; i<='Z'; i++)
printf("%c", i);
}
int main(){
int a;
scanf("%c", &a);
fx(&a);
return 0;
}
実行時に大文字を入力すると致命的なエラーが発生し、プロセスを強制終了することで解決しました。
次のコードでは問題ありません。
//except fx()
int main(){
int a;
scanf("%c", &a);
return 0;
}
また
//initialize int a
void fx(int *a){
for(int i=*a; i<='Z'; i++)
printf("%c", i);
}
int main(){
**int a = 0;**
scanf("%c", &a);
fx(&a);
return 0;
}
文字を入力するには「char」でなければならないことはわかっています。しかし、上記の状況については理解できません。
どうしたの?
PS。私はVS2010、c ++で作業しました