C语言到#结束,但为什么我的程序会陷入死循环啊?

作者&投稿:中叔询 (若有异议请与网页底部的电邮联系)
C语言程序问题,为什么这个程序会陷入死循环~

因为你超出数组边界了,a[10]指的是a[0]到a[9],你用到了a[10],就会数组越界

char c=10;
for(c=0;c<255;c++)/*当不进行无符号类型转换,程序会陷入死循环*/

====================
知道不进行无符号类型转换,程序会陷入死循环了啊,却不知道原因。看下面:
这个c的最大正整数只能到127,c<255永远成立。情况是:c++到127之后变为了负数(称为算术溢出),一直加又从0开始了,所以死循环。
把 char c=10;

改为 int c;
赋值没用,因为for循环又重新赋值了。

至于出现蜂鸣声,是打印的字符中有一个(大概是4)代表beep,就是蜂鸣,结果就是打不出字符,出现蜂鸣声。

因为是在while前输入的数据,循环过程中这个数据一直存在。

  1. 把scanf("%f%c%f",&a,&b,&c); while(b!='#'){改成while(scanf("%f %c%f",&a,&b,&c)==3 && b!='#'){。

  2. 把所有的continue;删除。



在C语言的循环中,无论是何种循环结构,都会在循环中指明退出条件,这个条件会是一个逻辑运算表达式。 要做死循环,只需要把对应的退出条件置为恒为真即可。
以下根据三种循环模式分别描述:
1、 while循环。
while循环的判断条件是第一行while后面空格的内容,所以写成
while(1)
{
//循环体

}
即可成为一个死循环。这个也是C语言中死循环最常见的模式。

2、 for循环。
for循环的判断条件,是for后面括号中的第二条语句。由于for的特殊性,以下两种方式,均可以构建死循环。
(1) for(expr1; 1; expr2)
{
//循环体

}
判断条件处写为1, 代表恒为真,与1中while的类似。
(2) for(expr1; ; expr2)
由于for允许括号中的三个表达式为空,所以判断部分留空,同样达到死循环的效果。

3、 do-while循环。
do-while循环的判断条件为结尾while后的括号中内容。与1类似,do-while死循环可以写作:
do
{
//循环体
}while(1);

以上为三种死循环的构建,不过需要说明的是,死循环尽量少用。如果一定要用死循环,也要在循环体内设置退出条件(break)。


从语言到语用:理论与实践内容简介
《从语言到语用:理论与实践》是一本深度探讨的学术专著,尤其在第三部分的语用学章节中,作者的见解独到且富有深度。其例证丰富多样,既典型又引人入胜,他凭借深厚的日语功底,成功地在汉语和英语的语用对比中进行了新颖且有益的研究。这部分内容展现出作者的学术创新精神和独立思考能力。第四部分收录...

认真学完 C++ Primer 后,C++ 语言到了什么水平
多写代码,然后看更深层次的书,然后写更多的代码。然后你能达到初级水平。

学习一门语言到什么程度才能算作精通
对答如流

语言到不了的地方下一句
文字可以,一句经典语录;语言到不了的地方,文字可以!灵魂到不了的地方,音乐可以!美好的事物大多具有侵略性,不是入了眼,就是醉了心。

语言到不到的地方,文字可以,灵魂到不到地方,音乐可以,这两句话是什么意...
这句话的意思是,语言有时可能无法传达某些情感或体验,而文字可以填补这个空缺;音乐则可以表达一些情感和体验,即使这些情感和体验无法用语言或文字来表达。这句话中的“语言到不到的地方”指的是当我们想要表达某些情感或体验时,语言可能无法完全传达我们想要表达的意思,这时文字可以更加准确地表达我们的...

探索JAVASCRIPT的成熟分类:从语言到生态系统!
JavaScript作为一种广泛应用于Web开发的编程语言,经过多年的发展已经日渐成熟,并形成了多种分类。以下是对JAVASCRIPT的成熟分类的探索:核心语言分类:JavaScript的核心语言分类主要指的是标准的ECMAScript规范。从ECMAScript 3到最新的ECMAScript 2022,JavaScript的核心语言得到了不断的完善和扩充,包括新增的...

携程怎么切换语言到英文版的呢?
1. 打开携程App;2. 点击右下角的“我的”选项;3. 进入设置页面;4. 点击“语言”选项;5. 在弹出的菜单中选择“English”;6. 点击确认,携程App将切换至英文版。首先,用户需要打开携程App,并确保其已经登录到自己的账户。然后,在底部菜单中选择右下角的“我的”选项。接着,用户需要进入...

语言到不了的地方文字可以到灵魂什么意思
言外之意就是用语言都无法表达,文字都显得惨白无力语言到不了的地方,文字可以,灵魂到不了的地方,音乐可以,太美好的东西都是具有穿透性,不是迷了眼就是醉了心。

电脑怎么把软件语言调到中文
1. **打开软件**:首先,确保你打开了需要更改语言设置的软件。2. **寻找设置选项**:在软件界面中,寻找“设置”(Settings)、“首选项”(Preferences)、“选项”(Options)或类似的菜单项。这通常位于菜单栏(顶部)的某个位置,或可以通过右键点击软件界面上的某个区域来找到。3. **进入语言...

认真学完 C++ Primer 后,C++ 语言到了什么水平
把“C++ Primer”的知识掌握以后,应该能达到已经完全入门的水平,这本书讲的比较全面,而且对C++标准库也讲得比较多,完全掌握后可以编写一些小规模的有用的程序了。剩下的就是多用学到的知识进行实际编代码,毕竟一方面学到的知识需要实际操作来加深理解,另一方面编程的水平在很大程度上取决于编程经验...

商丘市17592428445: C语言 为什么到'\'时会结束循环?谢谢 -
油溥大黄: 亲,你好~ 这不是因为到\就介绍了~ 是因为默认的是字符串的结尾为\0 所以,字符串一到\0 就会默认字符串到这里为结束~ 望采纳~

商丘市17592428445: C语言的运行文件完了,怎么会自动关闭窗口啊? -
油溥大黄: 因为你的程序没有设置暂停,运行完了之后,就自动关闭. 可以在程序最后加上 getchar();或者 system(pause); 实现程序暂停的效果. system("pause");pause是cmd中的一个命令,通过system函数调用执行! 这样程序会在执行这个之后结束,换句话说就是按任意键退出,而不会直接退出.

商丘市17592428445: 为什么我的C语言程序会出现 程序已经停止工作呢?程序如下 -
油溥大黄: a的空间不足(它只能确保有1个字符的有效空间).

商丘市17592428445: C语言 编辑的程序在运行结束自动退出了 -
油溥大黄: 可以在结尾的地方,加上 system("pause"); 需要引用头文件stdlib.h

商丘市17592428445: C语言里程序编译无误但运行会弹出程序已停止运行是为什么 -
油溥大黄: 造成程序停止运行弹框出错的可能原因如下:1. 内存溢出 内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出.系统会提示内存溢出,有时候会自动关闭软件,重启电...

商丘市17592428445: 为什么自己编译的c语言程序会一闪而过? -
油溥大黄: C语言本身运行程序未设置等待,需要自己设置; 方法是: 在程序开头加 #include<stdio.h> 在最后一个"}"前加 getchar();

商丘市17592428445: C语言编程问题 为什么我编的程序结果就闪一下 -
油溥大黄: 如果是C语言的话,结果闪过之后,按 alt+F5 组合键查看结果.

商丘市17592428445: 求助!C语言程序一运行结束就消失了! -
油溥大黄: 在你的main函数结尾处加一句 getch(); 这样会让你的程序在你运行后再次按键或鼠标点击的时候结束程序. 如果你的是VC++6.0的话应该不会出现你这样的情况=,=

商丘市17592428445: 一个C程序的运行是从什么开始到什么结束的? -
油溥大黄: C程序的入口是main函数,一般来说只要是正常运行结束的都是从main函数的第一句话开始,最后一句结束. 例如: int main()//程序开始 { printf("Hello!\n"); return 0;//程序结束,返回值 } 但如果程序执行到中间遇到 return(main函数里的) exit(不管是main函数还是子函数中) 等也是会结束程序的.

商丘市17592428445: C语言中,当运行程序结束时,会有“按任意键继续...”,这个时候按键就会退出程序运行的黑框,那么有 -
油溥大黄: 那是因为程序运行到结束了,你想一直运行就在主函数里加个while循环.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网