找出以下程序的错误,并解释下(c语言的)谢谢啦

如题所述

第1个回答  2019-05-19
死循环
while中的k=1,这个是一个赋值符号,而不是判断是否相等的==符号,所以实际上while会将k=1判断为真,也就是说循环条件永远成立,所以就一直进入循环。
或者你可以到tc上去实践一下
#include
main(){
int
k=0;
while(k=1)
{
k++;
printf("%d",k);}
}
你会发现实际上整个程序处于死循环状况
第2个回答  2019-03-27
#include"stdio.h"
int
max(int
x,int
y)
{return
(x>y)?x:y;}
main()
{
int
a,b,c,d;
printf("please
input
three
tnteger\n");
scanf("%d%d%d",&a,&b,&c);
d=max(max(a,b),c);
printf("Among
%d,%d,and%d,the
maxmal
integer
is
%d\n",a,b,c,d);
}
其实并步知道是否能用指针调用函数*p=&max();所以改了一下,希望对你有帮助

下面C语言程序的错误及改正
while(j\/n!=0) \/*调试时设置断点*\/ j=j+m;这里就出问题了,因为要让j\/n == 0; 那么j必须等于0,但是while循环中j += m;注定j不会等于0;所以这里会造成死循环。 错误就在循环条件中,你自己找一下,应该是你粗心造成的,如果找不出来,再问我,我再告诉你。}while(m<0||n<0)...

C语言程序找错!高手都进来看下!
错了,应该是:fseek(fp,offset,SEEK_SET);要区分大小写 void delet()里面也一样 fseek(fp,offset1,seek_set);要写成大写才对 上面这些改完之后就可以编译通过了……楼主编程基础还不扎实哦 C语言是区分大小写的 另外,文件读写记得要fscanf fprintf 不要和标准输入输出搞混了 ...

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第一项的结果不正确。第二项和第四项结果等同都是指向指针的指针操作。可以将二维数组看成一个双重指针,第一个中括号是一个一重指针。比如说a[n][m]中a[0]是一个指向a[0][m]数组首位a[0][0]的指针,而a则是指向指针数组*a[n]的首位a[0]的指针。这样我们来看B选项,*(a+2)表示一...

C语言!帮忙看下我写的这个程序错在哪里了,谢谢!用的是二次插值法.
其他的地方没有错,area函数定义的变量p的地方有错:include "stdio.h"include "math.h"include "conio.h"void main(){ float *area(float a1,float p,float a[3]);float f(float x);float ar,fr;float a2,a3;float f1,f2,f3;float a1=10,p=0.01,e=0.00001;float pa[3];area(a1...

请大家帮忙一下!请看我的C代码什么地方错误了
认真想想为什么会错?不要为得出结果而上机输入代码去验证,一定要分析错的原因!五,C语言对英语的要求 其实英语不好并不影响C语言的学习,因为C语言的英语都是些关建字,很容易记,看多了就知道了!另外谭浩强的《c语言程序设计>>这本书也很不错的,你可以到学校的图书馆找了看!最后祝你学习进步!

下面的C语言程序为什么不对?输出奇数魔方
你再好好想。。首先我觉得你算法没搞清楚,还有你对数组的下标也马虎了,所以你第一个“1”就填错地方啦。。我在你这个基础上改动里一下,也不太好,仅供参考 include<stdio.h> define S 100 void main(){ int a[S][S]={0};bool state[S][S]={0};int i,j,k,n=1,edge=0,x=0,...

请解释下这段c语言程序
! 运算符是 逻辑非运算符,楼上说的取反是错误的,相当于 !found 相当于 found==0 上面的代码就相当于 found =0 ;\/\/这个相当于一个控制变量,如果等于1就是发现不相等啦。所以 for循环的控制部分就是 说 i < n 并且 found==0的时候循环继续。if (found) 就相当于 if (found==0) ...

C语言出错,错误提示:error C2106: '=' : left operand must be l...
一、错误信息解析:1、error,表示这是一条出错信息。 C语言信息一般有error(出错)和warning(警告)两种。 error是编译器遇到了致命错误,无法继续进行编译,必须修改。 warning是C语言编译器找到了一个可能非法的位置,但不影响编译,程序还能运行,有可能运行出错,也可能不影响。error必须修改,而部分...

问两道有关c语言字符指针的问题,请将程序每一步的意思告诉我,谢谢啦
第一题答案:B。理由:*s与*t都是取出此时地址存储的值,while()语句里面的意思是,当指针s与t都不为空并且s指向的值等于t指向的值。。。当s或者t为空或者t与s指向的值不同时,while()结束,返回此时s指向的值减去t指向的值,所以为比较两个字符串的大小;第二题答案:A。理由:x的地址赋值...

C语言编程中,调试出现error C2143: syntax error : missing ';' befor...
int main(){ int i;double a,b,c,d,e,f,cash;\/\/这2行给你写前面了,具体原因往下看 printf("请输入本月利润:\\n");\/\/反斜杠打错了吧?scanf("%d",&i);\/\/你不先给 i 赋值,就直接使用 i ?a=0.1*i;\/\/下边这几行有几个乘号忘了写啦 b=100000*0.1+(i-100000)*0.075;c=...

相似回答
大家正在搜