简单说就是一种你看不懂,电脑也看不懂的代码。
打比方,你会说中文,另一个人会说英文,如果想要他听懂你说的话,就要有一个懂英文又懂中文的人来翻译,中间代码就是这样一个角色,他把C语言翻译成计算机可以直接识别的语言,其实,计算机是看不懂C语言的,呵呵,整个翻译过程有些复杂就不详细说了。
1、因为c语言也不能说真正的跨平台,只是这种语言比较低级,各个平台的实现相对一致。c语言的东西下载时还是会分平台的,比如for linux, for windows, for Mac等,不同平台的编译器对c的解释都有差异,所以只能说跨平台容易一些。
2、按微软的规划,以后的应用程序要从网上付费下载来使用,这样就带来下载软件的安全与否的问题,而C#经编译后形成的是中间代码,不可以在本地机器上直接执行,必须经过CLR转换成本地代码后才能执行。
这样,中间码可以顺利通过防火墙,而且安全性又有CLR来保证。
以下给出求n个数的中间数的C语言代码:
#include<stdio.h>void main()
{
int n,i,j,t
int a[1000]
scanf("%d",&n) //输入n。
for(i=0i<ni++)
scanf("%d",&a[i]) //输入n个数。
for(i=0i<n-1i++)
for(j=i+1j<nj++)
if (a[i]>a[j])
{
t=a[i]
a[i]=a[j]
a[j]=t
} //冒泡排序数列。
if (n%2!=0) printf("%d\n",a[n/2])
else printf("%0.1f\n",((double)(a[n/2]+a[n/2-1])/2)) //求中间数。
}