当前位置:首页 » 编程语言 » c语言经常出现问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言经常出现问题

发布时间: 2022-07-29 02:11:51

A. c语言编程老出错时什么原因

不是程序的问题 是VC配置的问题
“CL.exe”是VC使用真正的编译器(编译程序),其路径在“VC根目录\VC98\Bin”下面
打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”
—>“Directories(目录)”重新设置“Excutable Fils、Include Files、
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同
(例如你的VC装在C,但是这些路径全部在D),改过来就OK了。

B. 我的电脑上的c语言为什么老有一个错误

咨询记录 · 回答于2021-11-28

C. C语言基本问题有哪些

一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。
二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。

三、第3题,C语言中强制类型转换,仅对转换的语句有效,而不会改变所转换变量的原有数据类型,这是正确的,应该选T。

四、第4题,i=8,j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++);实际上是一个程序执行类题目,执行这一句时,先取得ij变量的值,其中有一个++i(先自增),一个j++(后自增),先自增的i先加上1,也就是i=8+1=9,而后自增的j在打印之后再加1,所以打印时仍是j=10。所以打印出来是:9 10 9 10。这是正确的。

五、第5题“C语言中放在“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上原样显示”的说法是错误的。举一个例子就可以了:print("%d",8);是打印不出来%d的,它只能打印出来8。所以它是错的。

六、第7题,设x、t均为int型变量,则执行语句"x = 10;t = x && x >10;"后,t的值为,这个题目好似没有写完,成了填空题了,现在来看计算过程,t = x && x >10,根据计算的优先级,>号是6级,&&是11级,先计算x >10,因为x=10,故x>10是不成立的,所以它的值是0,第二步再计算x && 0=10 && 0=0。t的值最后应该是0。
希望对你有所帮助。

D. C语言 一直出现的问题

算的方法有问题。

正确的如下:

E. 在C语言中运行程序时最常出现的有那些错误

一、基础知识和数据类型、表达式 1、{},[],(),‘’,“”不配对。解决这个问题最好的方法就是每当写这些符号的时候就先写成一对,然后再在中间加内容。 2、忘记在语句的末尾加分号,或在预处理命令后多加分号。记住:每一个语句的后边都要加分号,而预处理命令并不是语句,所以不加分号,他们必须每行一条,不能把多个命令写在一行。 3、混淆/和\;注释对应的符号是/* */,而转义字符是以\开头,除号是/。 4、printf()和scanf()的参数设置有误,主要表现在以下几方面: l 类型不匹配的问题。(例如:有float a=3.5,但输出的时候printf(“a=%d”,a);则屏幕上会显示出a=0.00000或者提示其它运行错误)。基本原则是:float对应%f, int对应%d, char对应%c。 l 个数不匹配。无论是哪个函数,都可以有n个参数,第一个永远是“”括起来的内容,表示输出格式。剩下的n-1个是输出的变量或者输入的变量的地址。需要注意的是,如果后边有n-1个参数,那么前边一定对应n-1个%f一类的格式说明符。 l scanf()中变量前忘了加&。记住:scanf()中变量前要有&(但后边学到的字符数组名和指针前不用加) 5、定义标识符的时候经常出现使用非法字符的情况,例如:标识符中不能用空格,也就是说不能有这样的定义:int radium of circle;一般情况下可用下划线将三个单词连接在一起。 6、在使用变量前未定义,或未初始化。例如:若下边的sum未定义,则在编译时会提示相应的错误信息,而若未初始化为0,则求和的结果一定是错误的。 void main() { int I,a[10], sum=0; /*只要下边要用,这个定义就必须要有,一般情况下也要有初始值*/ for(I=0;I<10;I++) sum+=a[I]; printf(“%d”,sum); } 7、计算错误。主要注意:++,――和其它运算符一起运算时,除根据优先级进行计算时,还要考虑先后位置的特殊含义;数据类型不一致时发生的自动转换也会导致计算的误差;还要注意求模结果的符号与被除数相同;某些特殊情况下 使用懒惰求值法。 8、不能除以0,要做合法性检查; 9、类型溢出。记住每种数据类型的取值范围,确保数据在所定义类型范围之内; 10、数学表达式的格式有误。常见的有:

F. C语言编程为什么老是出错

可能是你的大小写,或者字母打错了都有可能的,我一开始些php就之因为这些,当时我的脑袋都大了。

G. C语言程序老是显示错误但是没有错是什么原因

从代码上看没有问题。

如果你是新安装的编译器,那么有可能是编译器配置问题。 (Errorspawningcl.exe)

也有可能是你工程中加了不止一个文件。(function main )

建议你鼠标点在1 errors位置,然后鼠标滚轮向上滚动,查看具体错误信息。根据错误信息分析具体原因。

H. c语言面试经常问到的问题有哪些

c语言面试经常问到的问题有:

1、C语言的主要特征是什么?

C是一种过程语言。C语言的主要功能包括对内存的低级访问,简单的关键字集和简洁的样式。这些功能使其适用于诸如操作系统或编译器开发之类的系统编程。

2、i ++和++i有什么区别?

1)表达式“i ++”返回旧值,然后递增i。表达式++i递增该值并返回新值。

2)后缀++的优先级高于前缀++。

3)后缀++的关联性从左到右,前缀++的关联性从右到左。

4)在C ++中,++i可用作左值,但i ++不能用作左值。在C中,它们都不能用作l值。

3、什么是l值?

l值或位置值是指可以在赋值运算符左侧使用的表达式。例如,在表达式“a = 3”中,a是l值,而3是r值。

l值有两种类型:

“不可修改的l值”表示无法修改的l值。const变量是“不可修改的l值”。

“可修改的l值”表示可以修改的l值。

4、数组和指针有什么区别?

指针用于存储动态分配的数组的地址,以及用于作为参数传递给函数的数组。在其他情况下,数组和指针是两个不同的东西,尽管数组和指针是不同的东西,但是数组的以下属性使它们看起来相似。

5、C语言中的“循环”数据类型是指什么?

所谓的“循环”数据类型,其实就是某种类型的数据溢出后,又从头开始存储。一个典型的例子是unsigned char变量若已经等于255,仍然对其加1,那么该变量就会溢出从头开始,也即等于零:

unsigned char a = 255。

a = a+1;// a等于0。

I. 关于C语言在编译时常出现的错误有哪些

1、fatal error C1010: unexpected end of file while looking for precompiled header directive。

寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h")

2、fatal error C1083: Cannot open include file: 'R…….h': No such file or directory

不能打开包含文件“R…….h”:没有这样的文件或目录。

3、error C2011: 'C……': 'class' type redefinition

类“C……”重定义。

4、error C2018: unknown character '0xa3'

不认识的字符'0xa3'。(一般是汉字或中文标点符号)

5、error C2057: expected constant expression

希望是常量表达式。(一般出现在switch语句的case分支中)

6、error C2065: 'IDD_MYDIALOG' : undeclared identifier

“IDD_MYDIALOG”:未声明过的标识符。

7、error C2082: redefinition of formal parameter 'bReset'

函数参数“bReset”在函数体中重定义。

8、error C2143: syntax error: missing ':' before '{'

句法错误:“{”前缺少“;”。

9、error C2146: syntax error : missing ';' before identifier 'dc'

句法错误:在“dc”前丢了“;”。

10、error C2196: case value '69' already used

值69已经用过。(一般出现在switch语句的case分支中)

11、error C2509: 'OnTimer' : member function not declared in 'CHelloView'

成员函数“OnTimer”没有在“CHelloView”中声明。

12、error C2511: 'reset': overloaded member function 'void (int)' not found in 'B'

重载的函数“void reset(int)”在类“B”中找不到。

13、error C2555: 'B::f1': overriding virtual function differs from 'A::f1' only by return type or calling convention

类B对类A中同名函数f1的重载仅根据返回值或调用约定上的区别。

14、error C2660: 'SetTimer' : function does not take 2 parameters

“SetTimer”函数不传递2个参数。

15、warning C4035: 'f……': no return value

“f……”的return语句没有返回值。

16、warning C4553: '= =' : operator has no effect; did you intend '='?

没有效果的运算符“= =”;是否改为“=”?

17、warning C4700: local variable 'bReset' used without having been initialized

局部变量“bReset”没有初始化就使用。

18、error C4716: 'CMyApp::InitInstance' : must return a value

“CMyApp::InitInstance”函数必须返回一个值。

19、LINK : fatal error LNK1168: cannot open Debug/P1.exe for writing

连接错误:不能打开P1.exe文件,以改写内容。(一般是P1.Exe还在运行,未关闭)

20、error LNK2001: unresolved external symbol "public: virtual _ _thiscall C……::~C……(void)"

连接时发现没有实现的外部符号(变量、函数等)。

function call missing argument list 调用函数的时候没有给参数。

member function definition looks like a ctor, but name does not match enclosing class 成员函数声明了但没有使用

unexpected end of file while looking for precompiled header directive 在寻找预编译头文件时文件意外结束,编译不正常终止可能造成这种情况