题外话:在编写程序时,可以先用特殊值代入,想好一个直观的框架,然后再进行代码编写。
·[Error] expected ';' before 'return'
这个问题主要是:老忘记打分号(不过问题不大,反正编译都不能过)
PS:你的编译器只会告诉你,这一段前面缺一个分号,但是你其实要加在上一句话
int main()
{
printf("Hello world!\n")//你要加在这一行末尾
return 0;//错误信息显示:[Error] expected ';' before 'return'
}
int x = 0;
do{
++x;
printf("Hello world!\n");
} while (x < 10);
int x = 0;
while (x < 10);
{
++x;
printf("Hello world!\n");
}
int x = 0;
while (x < 10)
;//这里边代表什么都不做,然后x一直小于10,陷入死循环
{
++x;
printf("Hello world!\n");
}
int x = 0;
while (x < 10) {
//这里就很明显不需要分号了
++x;
printf("Hello world!\n");
}
·[Error] ld returned 1 exit status
这个问题主要是由于终端/命令行(黑黑的跟cmd一样的窗口)没关;
通常在调试时候停止了调试之后,再次进行编译的时候出现。
长久有效的解决方案:也许以后不要点叉叉停止调试,直接关闭命令行来停止调试就好了。
·[Error] expected declaration or statement at end of input
这个可能是:
1.某一变量在使用前没有声明(这个只是道听途说,我的dev C++编译器没有这种情况过),但是大多是 4 的那种报错
2. ★某 个★ 地 方 少了括号: 简 直 要 命
这个问题就大了,它既可能出现在你的 main 函数中(就是你的主体代码),又可能出现在你的自定义函数中,而你的报错……它只会显示在最后一行…( 太蠢了!)
*借阅了 CSDNid: dengw8 的博客内容
·[Error] 'x' undeclared (first use in this function)
哎哟 ~ 这个问题真是太好办了,定义一下就行,你的编译器肯定也会给你准确定位的。
·[Error] variable-sized object may not be initialized
据说以下两种情况会显示 Warning 报错(苹果的操作系统的自带编译器会),但是我的Dev C++没有报错,而是编译通过且warning个数依旧是0(太不负责任了) //2020.8.31划去
目前发现,以下 //2020.9.2划去(3) 4 种情况均在苹果的系统上看到过warning,难道 dev C++ 不会报 warning ???
目前发现以下 4 种情况不会在 dev C++ 出现 warning 类型报错,但是会在 mac 上的编译器报错。( 而今天,我终于发现了 dev C++ 也会报的错了,详情见本大条目的第 2 条目 )
一般是在一些本大多用于判断的句子里使用了赋值语句
if ( a = 20 ) {
//这里的等号应该是双等号表示判断 ==
...;
}
报错信息大概是类似这样的:
if ( a = 20 )
~↑~
" = " --> " == "
1 warning generated.
一般是在非 for 的地方用了逗号
int a = 3+4,5+6;//建议不要在 for 以外用这种奇怪的运算符
~↑~(result unused)
1 warning generated.
一般是调用函数的时候忘记打括号了
·warning: expression result unused [-Wunused-value]//来自mac的C语言IDE
例如这样的:
void helloWorld()
{
printf("Hello World!");
return;
}
int main()
{
helloWorld;//这里应该写 helloWorld();
return 0;
}
会显示
warning: expression result unused [-Wunused-value]//来自mac的C语言IDE
helloWorld;
↑~~~~~~~
1 warning generated.
1
#include <stdio.h>
void hello(int i)//这要求int型↓
{
printf("hello! %d\n",i);
return;
}
int main()
{
hello(2.4);//这里输入了一个double型
printf("hello!\n");
return 0;
}
const NUMBER = 10;//应当写:const int NUMBER = 10;
·[Warning] type defaults to 'int' in declaration of 'NUMBER'
//注:以下显示都不是在控制台,而是在终端/命令行
Process exited after 1.625 seconds with return value 3221225477
//上面的数字可能是任意的其他值
这大多是因为你在scanf里指向的是变量而不是地址,什么意思呢?你scanf里面的变量没加 & 符号。
这类问题都挺大的:经常检查了半天结果才意识到 & 没加,十分蠢,还以为是其他语句出错的
长久有效的解决方案:忘记一次就翻开词典,抄5个英文单词十遍,中、英文加音标
一般分为两种:
调试的时候发现一个 double 数值特别奇怪(初始化了也奇怪);
多半是用了 %d 去指向这个变量的地址了。
调试的时候发现一个 int / double 数值为初始值/特奇怪(未初始化的时候);
多半是用了 %lf / %f 去指向这个变量的地址了。
请注意:scanf 对 double 用 %lf ,而 printf 用 %f
输出的时候发现一个 int / double 数值特别奇怪(初始化了也奇怪);
基本上同理,就不过多赘述了。(懒)
这在有些情况下是会崩的(不同电脑)
#include <stdio.h>
int main()
{
int a[5];
a[0]=5;
a[5]=9;//赋值a[5]是有错的,因为只有0-4共5个数的数组
printf("a0=%,a5=%d",a[1],a[5]);
return 0;
}
但是在我的dev C++上却能有结果能有输出
因为这里的数组后面刚好是可以修改的,如果碰上不可修改的地方,比如0地址,就会自动崩溃。
a0=,a5=0
--------------------------------
Process exited after 0.02038 seconds with return value 0
在主函数内声明int a[1000000],运行出错
visual studio code:
# segmentation fault
dev cpp: 程序运行反馈最后的 return value 不是0就说明程序运行崩溃
Process exited after 0.2345 seconds with return value 3221225725
请按任意键继续. . .
原因:局部 / 本地变量所能分配的空间较小(2MB),1e6(1,000,000)已经4MB多了,无法分配这么多内存。
解决方案:使用全局变量(变量定义放在 int main 前面即可)
详情见:红豆布丁 大大的博客
文章浏览阅读995次,点赞9次,收藏19次。安全认证 Apache 配置Https 转发Tomcat,tomcat中的项目也可以使用https
文章浏览阅读1.5w次,点赞2次,收藏15次。作为一个开发者你不可能没听说过Sublime Text 3。不过你没听说过也没关系,下面让你明白。 SublimeText是一款非常精巧的文本编辑器,适合编写代码、做笔记、写文章。它用户界面十分整洁,功能非同凡响,性能快得出奇。这些非常棒的特性包括任意跳转(Goto Anything)、多重选择(multiple selections)、指令面板(command palette)、免打扰模式(_sublime3插件推荐
文章浏览阅读659次,点赞6次,收藏7次。机器分配。_docker-compose 部署elk 配置
文章浏览阅读44次。为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版本号。例如在CPython 发行版3.4中,fibo.py文件的预编译文件就是:__pycache__/fibo.cpython-34.pyc。这种命名规则可以保证不同版本的模块和不同版本的pytho...
文章浏览阅读1.8k次,点赞2次,收藏4次。NinjaNinja 原意是忍者的意思,它是一个专注于速度的小型构建工具。它是一个构建系统。 它将文件的相互依赖关系(通常是源代码和输出可执行文件)作为输入,并快速编排构建它们。运行Ninja,默认情况下,它会在当前目录中查找名为 build.ninja 的文件并构建所有过时的目标。 您可以指定要构建的目标(文件)作为命令行参数。还有一个特殊的语法 target^ 用于将目标指定为某个规则的..._c++ gn构建
文章浏览阅读741次。在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。NSNumber就是数字对象,我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。如:[cpp] view plaincopy#import NS_oc 如何判断一个nsnumber对象是一个什么类型的值
文章浏览阅读8.8k次,点赞10次,收藏10次。今天写代码要安装sass的时候,疯狂报错看的第一遍,找不到sass。偶,简单。我看了下package.json的依赖关系。果然如我所料,没有依赖于是手动写上依赖,删除node-moudle重新下载,运行项目,卧槽,还报错。查看node-sass文件,点击,里面没有文件无奈的我只能谷歌,の,问题出在下载源上下面是解决方法下载sass之前,要先修改源npm config set s..._npm err! failed at the [email protected] postinstall script. npm err! this is
文章浏览阅读509次。AP接口表:AP_INVOICES_INTERFACEAP_INVOICE_LINES_INTERFACE涉及的请求:应付款管理系统开放接口导入涉及案例: 运费导AP、费用导APPO接口表:申请:PO_REQUISITIONS_INTERFACE_ALL涉及请求:导入申请采购:po_headers_interfacepo_lines_interf_模块 mass additions post 因错误而终止。
文章浏览阅读372次。提高进程权限是 Windows 程序开发中非常有用的技能,它可以使我们获得更多的控制权,执行更多的操作。特别地,我们演示了如何使用 Windows API 函数,以及如何将提高权限的代码封装在一个 C++ 类中。然而,在某些情况下,我们必须提高进程的权限,例如需要访问系统资源或执行特权操作时。特别地,我们将演示如何使用 Windows API 来提高进程的权限,以及如何使用 C++ 语言进行封装,使代码更加易于使用和理解。为了使代码更加易于使用和理解,我们可以将提高进程权限的功能封装在一个 C++ 类中。_c++进程提权
文章浏览阅读2.3k次,点赞5次,收藏22次。结论:数据:ham_data.txtspam_data.txtstop_words.utf8数据处理:"""@author: liushuchun"""import reimport stringimport jieba# 加载停用词with open("dict/stop_words.utf8", encoding="utf8") as f: ..._ham_data.txt
文章浏览阅读1.6k次,点赞13次,收藏11次。EEPROM:电可擦除可编程只读 存储器。EPROM:可擦写可编程只读存储器。FPGA:现场可编程逻辑门阵列。CPLD:复杂可编程逻辑器件。PROM:可编程只读存储器。PLD:可编程逻辑器件。SOPC:可编程片上系统。SRAM:静态随机存储器。GAL:通用阵列逻辑器件。EDA:电子设计自动化。ASIC:专用集成电路。PLA:可编程逻辑阵列。RAM:随机存取存储器。ALM:自适应逻辑模块。HDL:硬件描述语言。RTL:寄存器传输级。PIA:可编程连线阵。_hdl ,lut ,asic ,soc,jtag ,vhdl ,fpga ,rtl,sopc,uart,isp,ip,hdl ,eda ,pcb
文章浏览阅读807次,点赞22次,收藏9次。假如猪,鸡,鹦鹉三种动物准备创业开一家欧式早餐店:提供三明治(面包,鸡蛋,培根),那么他们分别需要付出什么?