急~~~~C语言问题:为什么把函数写在主函数后面,但没在主函数内声明,却没有报错

急~~~~C语言问题:为什么把函数写在主函数后面,但没在主函数内声明,却没有报错,第1张

这里涉及到一个路径的问题。我们编写好的程序main函数是入口,当编译器变异的时候会根据里面调用到的其他函数去寻找加载进来一起编译(非main函数如果不被main函数调用其实根本上就没用,这里指的是不被main函数调用和main函数调用过的函数调用),假如是include进来的编译器就知道去库函数里面加载那一个函数,而没有include进来的就会在本目录下检索,假如检索不到就编译出错。库函数所在就相当于老地方,而main函数所在的地方就相当于本地,这两个都是被编译器熟知的。

其实除了c语言,java也会这样,不在同一个包内的类需要导入,在同一个包里面的类不需要导入(import),在同一个java文件里面的类(内部类或者类外面定义的类都一样)也不需要导入。因为编译器知道在这两个地方找,去类库找就需要指定哪一个。

把gotoxy函数代码剪切到border函数前面就可以了。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的DMRitchie于1972年推出。

1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。

strlen()、printf()、scanf()都是库函数,需要包含头文件!

在程序前面加上 #include<stdio,h> #include<stringh> 就行了!

还有将 scanf("%s\n",str); 改为 scanf("%s",str);

否则输入字符串 abcd 后,没有任何显示!

正确的代码如下:

#include<stdioh>

#include<stringh>

insert(char str[])

{int i;

i=strlen(str);

while(i>0)

{str[2i]=str[i];str[2i-1]='';i--;}

printf("%s\n",str);

}

main()

{char str[40];

scanf("%s",str);insert(str);

}

没有加头文件

代码如下:

#include<stdioh>

void main()

{

int i,t;

t=1;

i=2;

while(i<=5)

{t=ti;

i=i+1;

}

printf(“%d”,t);

}

Undeclared function 'strnlen_s'

最好在VS环境下,编译,这是微软搞得安全函数,你在VC60中应该没有的。

assuming 'extern' returning 'int'

这个问题,我在VS2013中没出现。。。

这段代码实际上是会报错的:

char joke[length + strnlen_s(preamble, sizeof(preamble)) + 1];

VS要求函数调用的必须是常量表达式。。。preamble,这个不是

以上就是关于急~~~~C语言问题:为什么把函数写在主函数后面,但没在主函数内声明,却没有报错全部的内容,包括:急~~~~C语言问题:为什么把函数写在主函数后面,但没在主函数内声明,却没有报错、C语言undefined, assuming extern returning int,怎么解决、vc++6.0运行程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10066834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存