如图,当我在键盘上输入Q时候,为什么不执行printf语句 改成不等于0的时候输入任意字符串都执行
scanf("%s",&b[4])改成scanf("%s",b)
char b[4]只有4个字符空间大小,在代码中使用b[4]会导致数组越界,&b[4]取到的地址是非法地址。直接用b就可以,b就是字符数组的首地址,所以scanf("%s",&b[4])改成scanf("%s",b)就可以了。
&b[4]改为 &b
&b[4]表示这个地址是b数组第4个元素地址,那么前三个元素你就没有输入值,和"Q"比较当然不相等。
你应该从b数组开头进行输入,用&b和b都可以。