当前位置:首页 » 编程语言 » c语言逻辑错误

c语言逻辑错误

发布时间: 2022-05-27 02:11:06

c语言逻辑错误

在 你想继续吗 那里,你输入了y回车,'y'被存到x里,回车被当做输入存进了下一次循环的c变量里
其实scanf %c 特别烦,总要处理回车的问题 你用%s读入字符串就行了 自动忽略所有空格回车

② c语言中出现逻辑错误时,我们使用什么方法可以快速找到逻辑错误发生的位置(哪一行

你说的逻辑错误是指语法没错误,而是代码实现的逻辑错误么
这个的话没法在编译链接过程中发现
只能靠你自己来查找,首先需要自己对程序结构熟悉,还有使用断点,查看程序变量

③ 求教C语言怎么检查自己编写的函数里边的逻辑错误,比如说watch和debug

如果你修过软件工程,就会知道逻辑错误,主要是靠人工检查来做的,和你具体的语言实现没有关系。有各种方法或流程,比如流程图检查、程序走查、极限编程等,可以帮助你检查程序逻辑。
首先你要知道你的模块的作用是什么,比如这里的 digits() 是求整数中的数字个数,然后可以用边界值演算的方法来检查它的实现是否有问题,在纸上演算可以,用 debug 和 watch 也可以,主要是跟踪几个关键变量 a, j, i 在各种输入条件(使用特征和边界条件比如 num=个位数、=负数的情况)的运行时值。

④ C语言,找错误(逻辑错误)

1.在函数:int
EnterScore
(
int
P_array[]
)定义中:
DO循环中:scanf
(
"%d"
,
P_array[count]
)
;
语句
有错误,应为:scanf
(
"%d"
,
&P_array[count]
)
;
2.在函数:int
EnterScore
(
int
P_array[]
)定义中:
DO循环容易造成数组下标越界。如果你在前80个成绩输入
中都没有输入-1的话就会访问到P_array[80]这个元素,
但是实际上该数组最大的元素为:P_array[79],这会
破坏内存,甚至引起操作系统的崩溃。
3.在函数:void
find
(
int
P_array[]
,
int
count
)
定义中,如果传入的数据:count大于数组的总元素个
数并且没有满足for语句中的if条件的数据时,
也会发生第2点的错误。

⑤ C语言的语法错误和逻辑错误的区别

语法错误: 在编译的时候会提示你。比如说:for(i=0,i<10,i++)
在编译的时候会提示你错误,要把逗号改成分号。
逻辑错误:没有错误提示,能运行,但是达不到自己想要的结果。

⑥ c程序有逻辑错误,则不可能连接生成exe文件

c程序有逻辑错误,是不影响其连接生成exe文件的。
c程序有语法错误,则不可能连接生成exe文件。

⑦ (C语言编程,麻烦大佬帮忙看看哪里有逻辑错误)🙏

提示:个位只需要用x%10就可以算出来,不需要象你写的这复杂
错误1:你的符合条件的元素个数是由count或者i来计算的,所以在输出的时候就可以用比如i<count来获取,而不能用i<N
错误2:你输出的时候数字之间没有间隔,可以改为比如printf("%d\t",a[i]);

⑧ C语言程序逻辑错误

从代码本身以及运行的情况来看,可执行程序的内容,与所贴的代码不相符(可能是修改了代码后没有重新编译,就运行了修改前的代码,不然也不会代码现在有错误就能编译通过的,例如第2行的末尾多了“op”,“现有1人捐款”也没有输出),修改建议如图:

⑨ C语言编程逻辑错误。。求教!

你在minfabs函数中重新定义了a[N],而这个a[N]跟
main函数那个a[N]是两个不同的数组,你应该把main函数的a[N]作为参数传到minfabs,
即定义为void
minfabs(float
a[]),然后main中调用minfabs(a)

⑩ C语言编程逻辑错误。。求教!

#include<stdio.h>
#include <math.h>
#define N 10
int main()
{
float a[N],*p,min;
int i=0,j=0;
p=a;
printf("请输入10个数组元素:");
for(i=0;i<N;i++)
scanf("%f",&p[i]);
min=*p;
for (j=1,i=0;j<N;j++)
if (min>=*(p+j))
{
min=*(p+j); //把最下的找出,并复制给min
i=j; //把下标赋给i
}
printf("数组最小值下标为:%d\n",i);
printf("绝对值最小的数字为:%f\n",min);
}
这样就可以了

你的错误在: for (j=1,i=0;j<N;j++)
if (min>*(p+j)) i++;
如果第一个数位最大,你又把第一个数赋为最小,那么i++执行9次,所以你需要涮洗最小值,并且此时的最小值得下标赋给i,i也是在不断刷新,最后得到你想要的结果
况且你用void minfabs(),在主函数中且没有地址的传递,这里您看一下“数组元素做形参”,对你会有帮助

热点内容
怎么创建密码重置盘 发布:2025-02-12 16:36:59 浏览:675
php读取时间 发布:2025-02-12 16:23:48 浏览:385
祛痘液如何配置 发布:2025-02-12 16:21:22 浏览:747
安卓手机如何拷贝电脑里 发布:2025-02-12 16:16:30 浏览:859
linux怎么编译内核 发布:2025-02-12 16:03:02 浏览:188
新的怎么注册微信账号密码忘了怎么办 发布:2025-02-12 15:50:08 浏览:659
android代码搜索 发布:2025-02-12 15:45:36 浏览:778
矢量图算法 发布:2025-02-12 15:43:53 浏览:192
python量化投资入门 发布:2025-02-12 15:34:17 浏览:175
苹果的天气跟安卓的天气哪个准 发布:2025-02-12 15:33:37 浏览:313