输入一组字符,以“#”结束。
int main()
{
char a[10];
int i,j;
for(i=0;i<10&&a[i]!='#';i++)
{
scanf("%c",&a[i]);
printf("%c ",j);
}
这个不可以
int main()
{
char a[10];
int i,j;
for(i=0;i<10&&j!='#';i++)
{
scanf("%c",&a[i]);
j=a[i];
printf("%c ",j);
}
这个却可以。
这是什么原理?
第二个不可以的原因是j是int,'#'是char,类型不同。
定义改成char i, j;
主要是因为变量j没有初始化,没有初始化的变量不允许参与运算,所以j!='#'报错,给j一个初始值就好了;
但不建议使用第二种方法,j和a[i]类型不同,两者的比较不安全