首先,我为糟糕的英语道歉。
在下一个简单的程序中,
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;
}
我在运行时输入了一个大写字母,导致FATAL错误,通过kill proccess解决。
它不会在下一个代码中引起任何问题。
//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++