A. c语言运行时出现程序运行错误如何解决。代码如下
错误地方很多
sort函数返回值就不对,不能返回数组,sort函数里面直接修干数组,不需要返回
排序冒泡法 交换数值
temp=a[y];
a[y]=a[y+1];
a[y+1]=temp;
y+1 超出范围,上面for(y=0;y<b-x;y++) 改为for(y=0;y<b-x-1;y++)
#include<stdio.h>
#define ARRAYSIZE 10000
int main()
{
int sort(int a[ARRAYSIZE],int b,int c);
int i;
int date[ARRAYSIZE]={10,20,30,40,50};
int n=5;
for(i=0;i<n;i++)
printf("%d ",date[i]);
printf("\n");
int addN;
scanf("%d",&addN);
printf("%d\n",addN);
sort(date,n,addN);
//把这里的sort(date[ARRAYSIZE],n,addN)改一下
n=n+1;
for(i=0;i<n;i++)
printf("%d ",date[i]);
return 0;
}
int sort(int a[ARRAYSIZE],int b,int c)
{
int x,y,temp;
a[b]=c;
b=b+1;
for(x=0;x<=b-1;x++)
{
for(y=0;y<b-x;y++)
if(a[y]>a[y+1])
{
temp=a[y];
a[y]=a[y+1];
a[y+1]=temp;
}
}
return 0;
}
B. c语言 编程 代码 为什么会出现这种错误 怎么解决
产生这个问题可能的原因
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.
2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。
解决方法
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_WINDOWS, 添加_CONSOLE
2.进入project->setting->Link, 在Project options中将/subsystem:windows.改为/subsystem:console
3.保存设置,Rebuild All.
(2)、LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/WinMain.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
你试试吧,可能是这个原因,这个问题出现的原因挺多的
C. C语言错误C2143,具体代码如下,如何修改
matlab中如果编写代码错误,怎么修改 1、首先需要打开文件,修改代码格式命令如下cd(需要设定为工作路径的地址),敲击回车就会生效。2、或者在命令行窗口中输入pathtool,敲击回车,接着会弹出设置路径的窗口。3、最后,设置成功,如图所示,再次在命令行窗口中输入cd就可以校验是否修改成功,这样操作即可。
D. c语言错误怎么办
如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定即可。
E. c语言编程中字符串复制函数编程程序出现错误,这是怎么回事
这里原因是gets函数不安全,visual studio的后续产品已经不再支持此类函数,可以换成fgets(str1, sizeof(str1), stdin);
第一个参数是,字符存储地址,第二个是最大内存大小,第三个是从哪里读取,stdin是从键盘,也可以是文件指针表示从文件中读取。
其实strcpy出现提示也是不安全的,可以考虑使用strncpy函数。
以下是(5)c程序发生错误怎么办扩展阅读
C语言gets函数,fgets函数的使用
gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取。函数的具体功能如下所示:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
使用gets函数的时候应注意以下要素:可以无限读取,不会判断上限,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。如果溢出,多出来的字符将被写入到堆栈中,破坏一个或多个不相关变量的值。
这个事实导致gets函数只适用于玩具程序,为了避免这种情况,我们可以用fgets(stdin) 读取标准输入来替换gets()。为了向后兼容,gets删除换行符,gets并不将换行符存入缓冲区。
fgets函数用来从文件中读入字符串。fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'\0',并以str作为函数值返回。原型是char *fgets(char *s, int n, FILE *stream);
同时注意scanf函数和gets函数混用时的注意事项:
1、gets在scanf前调用,这种调用一般不会出现什么问题,可以正常输入。
2、scanf在gets前调用,这种情况就会出现问题,当输入完scanf中的变量时,运行到gets函数,则不让输入任何字符,出现此问题的原因是gets函数接收了scanf输入完后的回车符,解决的办法是在scanf和gets中间,用getchar函数接收掉回车符,这样就不会出现任何问题了。
F. 新手在学习c语言并编译程序时编译错误怎么办
1、确定出错的行号
如果是一个比较好的集成编译环境的话,一般双击编译错误,鼠标都会自动跳转到该行并高亮显示。
没有这个功能也没关系,编译错误里面也都会有说明某某.c,某某行出的问题
1>e:\visual studio 2005\projects\airplane\airplane\airplane.cpp(52) : error C2065: 'abc' : undeclared identifier
这个就是说明在airplane.cpp的52行有错误
2、多个错误的话,一般只处理第一个错误
如果一次打出很多错误的话,不需要每一个都处理,只处理第一个编译错误,然后再次编译。大部分的时候,都是由于第一个错误产生了后续很多错误,第一个错误解决之后,其他错误也就迎刃而解。
3、对错误的更改
一般就是看错误的编号和后续的英文说明,如上面的错误,错误编号是C2065,错误的解释是'abc' : undeclared identifier,未定义的标示符,将abc定义即可。
错误的种类很多,一般看英文就可以解决,如果解决不了的话,推荐根据错误编号上网搜索一下解决方法就OK拉。
G. C语言代码运行出错 怎么改正
scanf("%s", &a);
而scanf_s()用于读取字符串时,必须提供一个数字以表明最多读取多少位字符,以防止溢出。
比如:scanf_s("%s" , buffer,128); /* 这里必须要有128,以表明最多读取128个字符,如果写成scanf_s("%s",buffer),程序将无法执行到底,且编译器会提示“Unhandled exception at 0xfefefefe in array.exe:0xC0000005: Access tion.” 。当然在安全性要求不高的情况下,不 一定非要用scanf_s()函数,可用scanf("%s",&buffer)代替。 */
H. C语言编译错误如何解决
C语言编译错误如何解决,
办法就是逐条分析编译错误提示输出的信息,并按照提示修改,
没有捷径,只能一条条地把编译出错的地方修改掉。
建议从前往后改,因为有可能后面的错误都是第一条的错误引起的。
所以可以改完几条就重新编译下,看修改的地方是否通过编译了。
如此循环,直到消除所有的错误。
请采纳,谢谢
I. 运行程序的时候出现C++错误怎么办
运行程序的时候出现C++错误这样的问题一般是因为DLL文件出错或者VC运行库没有安装导致的,解决方法
一、下载VC运行库进行安装修复,修复后再进行测试。
二、以管理员身份运行命令提示符,打开开始菜单,搜索cmd。在命令提示符上单击右键,选择“以管理员身份运行”;在命令提示符中输入以下命令:for %i in (%windir%system32*.dll) do regsvr32.exe /s %i,按下回车执行命令 即可完成修复。
(9)c程序发生错误怎么办扩展阅读
C++进一步扩充和完善了C语言,流行的集成开发环境最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++2017。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。
Windows 2000以后的版本都包括Visual Basic 5.0/6.0的库。Internet Explorer总是带有最新的Visual C++6.0的库。Windows XP带有Microsoft .NET 1.0(用于VB. NET和C#)的库。Visual C++、Delphi和C++ Builder允许用户选择所编译得到的程序是否依赖于运行库。
J. 对于C语言编程出了错,怎么能快速找出错误呢
代码是否存在逻辑错误:
1、变量使用前未被数值
实例:
int main()
{
int x=5,y,z;
z=x*y;
printf("%d",z);
return 0;
}
在此程序中变量y在使用之前未被赋值,所以结果输出z的值就会是系统随机分配一个值给y再加乘以x的值。
2、把赋值赋值符号“=”与等于符号“==”相混淆
实例:
有一下语句:
if(a=5)
{
printf("a等于5");
}
输出的结果永远都是“a等于5”,原因是在执行if(a=5)之时,无论a之前是什么值,此时都会被重新赋值为5,而不是把a的值与5相比较,而正确的表示比较的表示为:
if(a==5)
{
printf("a等于5");
}
(10)c程序发生错误怎么办扩展阅读
C语言编程注意事项:
1、书写标识符时,忽略了大小写字母的区别。
2、将字符常量与字符串常量混淆。
3、忽略了变量的类型,进行了不合法的运算。
4、忽略了“=”与“==”的区别。
5、忘记加分号。
6、多加分号。
7、输入变量时忘记加地址运算符“&”。