
正文
为何c语言输入函数无效,c语言输入数据后不出结果
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
函数调用不成功是什么原因?(C语言)
函数调用了,是你写的有问题。比如你第一次调用 swap(n1,n2),这个时候程序把n1,n2的值传给p1,p2,然后p1,p2的值交换了,但是你需要的n1,n2没有变化。
一般是你在调用函数的时候传递的是int类型的数据,但那个函数定义的参数类型不是int(比如是结构或者指针或者数组)。
关于c语言中函数调用问题解答如下:首先如果是编译的这个代码那这个函数肯定被调用了,让你觉得没有调用是因为while循环没有被执行。图中红色框内代码p1和p2经过赋值p1是肯定大于p2所以不满足while.的条件直接退出了函数。
如果你用的是gcc编译器请在命令行写上:gcc filename.c -o filename -lm 这是gcc的一个小问题,因为早期的数学函数是放在stdlib.h里面。所以才会出现这种状况。
请把右图中的第二行开头的void 修改为int 就可以了。
相关问答
Q1: C语言中输入函数无法执行
scanf的意思,就是让你输入一个数值并回车 程序不执行,是等待你的输入。每个scanf都是在等待键盘输入。
whie(c!=0 || d!=0){...}是死循环,因为不可能有c和d同时为0的时候。求两数的最大公约数和最小公倍数是很简单的过程,这代码把关系搞得很复杂,即使没有错误也是不可取的。
C语言要求调用某一个函数之前,一定要知道该函数的定义。
Q2: 关于一个C语言输入函数的问题
scanf(%f%e, &x, &y);这是两个语句我是否需要分别输入如果可以分别输入那中间可以用什么符号隔开是回车换行吗 一般是以空格和换行符来区分的(这个我也不确定)c是字符格式,是针对单个字符的。
k=k&0xff?0x00ff:k8;其实就是 if(k&0xff) { k=0x00ff;}else { k=k8;}的简写。其实0xff和0x00ff是一样的,都表示同一个十六进制的值。书上这么写,没有错;至于为什么,就不好说了。
遇到字母不能用空格隔开的。scanf(%d%d,&x1,&x2);scanf(%c%c,&y1,&y2);正确的输入格式,答案是10空格20AB,但是这个答案不是唯一的。像下面这样也是可以的:10回车 20AB 还有别的输入方式的。
n = scanf(%d,&n);这一句有问题 scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数。
scanf(%d ,&s[i]); 只影响 一次 读数。如果 放在循环语句里,for (i=0;i5;i++) scanf(%d , &x);只需多输入1个数。
Q3: 为什么我的C语言程序在调用函数时出现错误?
1、出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。
2、库函数拼写错误。如:printf,scanf,等 定义的函数名在调用时,函数名拼写错误 在执行函数时可能函数体本身的问题,有没有实现该函数 检查一下任务栏,一般出现这种问题都是你上一次“运行”的小黑窗还没关。
3、这种错误的原因,一般是因为被调用函数的形参对象应该是数组名,而不应该是数组。解决方法:一对花括号一对的找,肯定少了一个。
Q4: c语言编写一个函数,没有报错,但是无法运行,请帮忙指出原因所在,谢谢...
可能的原因有很多,以下是一些常见的原因:没有初始化指针:在统计二叉树叶子结点个数时,需要使用指针指向二叉树的根节点。如果没有正确初始化指针,程序将无法访问到正确的内存地址,导致运行错误。
链接错误也不一定是系统的问题,也有可能是程序的问题。如果编译有错的话是不会有链接的,链接要有obj目标文件,编译不通过就没有目标文件。
Library Files、Source Files”的路径。很多情况可能就一个盘符的不同 (例如你的VC装在C,但是这些路径全部在D),改过来就OK了。
为何c语言输入函数无效的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言输入数据后不出结果、为何c语言输入函数无效的信息别忘了在本站进行查找喔。








