既无报错也不结束,是进入死循环了吗?是,原因细说,不是,是怎么回事?

#include<stdio.h> main() { int c; int a[10]={123456}; while(c=' '||c=='\t'||c=='\n') c=a[10]; }
慕运维5483060
浏览 1226回答 3
3回答

望远

空格的ascii是32;那么第一个赋值语句就是永真,而或逻辑只要一个为真就是真,那么while条件永真,形成死循环,顺便说一下没有a[10],数组下标越界。

BanJim3313278

少了个=号,没有a[10],最多a[9],且没初始化a[9]
打开App,查看更多内容
随时随地看视频慕课网APP