c语言程序错在哪,一个C语言程序的修改。不知道错在哪了。

2020-11-23 20:05:32 字数 5570 阅读 9447

1楼:匿名用户

#include

int main()

printf("%.2f\n",sum);

}return 0;}

在c语言中,计算机程序通常有哪几种错误?

2楼:大野瘦子

1、系统错误:这是指程序没有语法错误和逻辑错误,但程序的正常运行依赖于某些外部条件的存在,如果这些外部条件缺失,则程序将不能运行。

2、语法错误:这是指程序中含有不符合语法规定的语句,例如关键字或符号书写错误(将printf写成print、将数组元素引用写成a(2)等)、使用了未定义的变量、括号不配对等。

3、逻辑错误:这是指程序中没有语法错误,可以通过编译、连接生成可执行程序,但程序运行的结果与预期不相符的错误。

3楼:匿名用户

在计算机程序中,通常可能发生以下三种类型的错误:

(1)语法错误:这是指程序中含有不符合语法规定的语句,例如关键字或符号书写错误(将printf写成print、将数组元素引用写成a(2)等)、使用了未定义的变量、括号不配对等。含有语法错误的程序是不能通过编译的,因此程序将不能运行。

(2)逻辑错误:这是指程序中没有语法错误,可以通过编译、连接生成可执行程序,但程序运行的结果与预期不相符的错误。例如整型变量的取值超出了有效的取值范围、在scanf函数遗漏了取地址运算符&、数组元素引用中下标越界、在应当使用复合语句时没有使用复合语句等。

由于含有逻辑错误的程序仍然可以运行,因此这是一种较难发现、较难调试的程序错误,在程序设计、调试中应予特别注意。

(3)系统错误:这是指程序没有语法错误和逻辑错误,但程序的正常运行依赖于某些外部条件的存在,如果这些外部条件缺失,则程序将不能运行。例如折半查找法是在已经排序的数组上进行的,但实际的数据并没有进行排序、程序中需要打开一个已经存在的文件,但这个文件由于其他原因丢失等。

请问我的大一c语言程序错在**?

4楼:匿名用户

#include

intmain()

k++;

}i--;

while(i>0)

printf("%c",ch[i--]);

return0;}

为什么我的c语言程序没有输出?哪错了?

5楼:噘嘴鲢子朋友

首先指出你写的一处错误,fun函数没有返回值。你要么定义为void,既然定义成int,就要返回数据。

**可能需要优化下....

输入定义成字符串,不必用char数组,然后如果用while就用while,用for就用for,干嘛都一起用,大致可以这么写(自己定义下变量,另外没必要把变量定义到和main fun一个级别,这样不利于释放空间,就用局部变量,然后fun可以用传参的方式)

int i=0;

scanf('%s',&str)

while(str[i]!=条件)

6楼:匿名用户

对字符串应该使用字符串结束标志进行检测,即测试fun函数while循环里的a[ⅰ]!=0判断到了字符串末尾,回车键在输入时不会输入到字符数组里面。

7楼:匿名用户

仔细看了你的题目要求和你编写c语言程序,单从程序看看不出有问题,我没有c语言编程工具,无法调试,只能给你一些建议,第一个建议使用编程工具通过的断点跟踪调试,找出问题。第二个建议,增加输出语句,打印中间变量,静态分析。

8楼:匿名用户

把while(a[i]!='\n')

改为if(a[i]!='\n')

事实上这句语句不写也行

9楼:匿名用户

while ( a[i]!='\n' )

改成while ( a[i]!=0 )

c语言程序 错在哪?

10楼:飞飞

while(i

#include

int max(int a,int num)return m;

} void main()

puts("\nenter the values(q to quit):");

while(i

++i;

m=max(*ptd,size);

print("\nthe largest value of your array is %d.",m);

free(ptd);}

11楼:匿名用户

int max(int a,int num){ int i,m,num;

这里有问题,既然形参为num,那么函数里就可以直接用,不用再声明了这样会出错的,估计错误是重复定义

12楼:匿名用户

错误1.num为一个函数的形参,即为这个函数的一个局部变量,你在函数中又一次定义这个变量了

错误2.ptd是一个指针,&ptd[i]是一个int型指针,能和一个int型的1作比较吗?

错误3.ptd是个指针,max(int a,int num)的第一个参数是个整型数组,我们应该传过去的是ptd这个地址,*ptd只是ptd[0]的值

我不明白为什么有这样一句,while(i

你这样不是要让没个ptd[i]的值都为1吗

一个c语言程序的修改。不知道错在哪了。

13楼:风之岸

e:\xp\shiyan.cpp(7) : error c2632: 'long' followed by 'long' is illegal

第7行 错误,重复关键字了

正确应是 long d = 100000000000;

14楼:匿名用户

vc的编译器不认识类型 “long long” ,vc里应该是int64

15楼:五雷轰顶的雷神

因为vc++6.0的编译器并不是很符合c++11的标准,建议下一个mingw

c语言程序,编译没有错误,执行时出错。问题在哪? 100

16楼:匿名用户

1 编译阶段,执行的是对单个文件的转换,从源**转换成二进制文件。

2 链接阶段,将每个源文件转成的二进制文件,及相关的系统库文件共同打包生成可执行文件。

3 从定义上可以看出,链接阶段,出现错误有两种可能:

1) 函数中引用了不存在的函数。

2) 编译环境有问题,导致ld出错。

17楼:在角落悠哉的风

首先编译已经报错: 有一个找不到的符号链接_max

max这个函数你只声明了但没有定义,也就是编译器只知道有这么个函数,但是函数是做什么的,不知道。

如果你是新手,咨询一下其他同学或者老师,这个问题实在不应该发出来,自学才是最好的老师。

18楼:匿名用户

#include

intmax(inta,intb);

intmain(void)

intmax(inta,intb)

max函数未定义

c语言程序错在哪,怎么改?

19楼:匿名用户

函数fun缺少返回值,我给你返回0了,不知道你要返回什么!

#include

int fun(int array[3][3])return 0;

} void main()

,,};

for(i=0;i<3;i++)

fun(array);

printf("converted array:\n");

for(i=0;i<3;i++) }

20楼:匿名用户

fun需要一个返回值:return t;

#include

int fun(int array[3][3])return t;

} main()

,,};

for(i=0;i<3;i++)

fun(array);

printf("converted array:\n");

for(i=0;i<3;i++) }

21楼:匿名用户

#include

void fun(int array[3][3]) }void main()

,,};

for(i=0;i<3;i++)

fun(array);

printf("converted array:\n");

for(i=0;i<3;i++) }

22楼:

你fun函数定义成有int返回值的函数,可是函数中又没有给return

要不就定义成void 要不就返回一个值

23楼:匿名用户

void fun(int array[3][3]) 改成这样就对了,因为你的fun函数没有返回值

我这个c语言程序错在哪?

24楼:匿名用户

各数字的立方和这个很好做吧

不过首先你给的例子都不对吧

153应该是 1+125+9吧

你可能看错了 应该是135

你整体思路都错了所以我给你说个方法你自己去实现下首先进行分析你的题目是1到10000之间,然后如果数字超过了3位数那它就根本不可能是每位数的立方和,比如说4位数,最大的是9999,可4个9的立方也不过4000,所以排除掉4位数1位数里只有1,而题目把1和10000排除了 所以1位数也不用考虑2位数也不可能,自己推一下就ok,我写给你就太多了。

然后给你介绍算法

我们已经把数字推理到了3位数

那么这样就好做多了

int i;

99

for(i;99

25楼:匿名用户

前面没加

#include "stdafx.h"

加了以后有1个错误

***piling...

test.cpp

f:\myproject\test\test.cpp(15) :

warning c4244: '+=' : conversion from 'double' to 'int', possible loss of data

f:\myproject\test\test.cpp(22) : fatal error c1004: unexpected end of file found

error executing cl.exe.

test.exe - 1 error(s), 1 warning(s)