既无报错也不结束,是进入死循环了吗?是,原因细说,不是,是怎么回事?
#include<stdio.h>
main()
{
int c;
int a[10]={123456};
while(c=' '||c=='\t'||c=='\n')
c=a[10];
}
3回答
-
望远
空格的ascii是32;那么第一个赋值语句就是永真,而或逻辑只要一个为真就是真,那么while条件永真,形成死循环,顺便说一下没有a[10],数组下标越界。
-
BanJim3313278
少了个=号,没有a[10],最多a[9],且没初始化a[9]