void proc1()
{
// boolean type support
_Bool st;
int a=5,b=3;
st=a<b;
if(st){
printf("minimum is:%d\n",a);
}
else{
printf("minimum is:%d\n",b);
}
int size=sizeof(st);
printf("size of a boolean:%d\n",size);
puts("");
}
void proc2(const int dim1,const int dim2)
{
// variable length array support
int matrix[dim1][dim2];
int i,j;
for(i=0;i<dim1;++i){
for(j=0;j<dim2;++j){
matrix[i][j]=i*dim2+j+1;
}
}
for(i=0;i<dim1;++i){
for(j=0;j<dim2;++j){
printf("%d ",matrix[i][j]);
}
puts("");
}
puts("");
}
void proc3()
{
//support byte-size, but have some problem
long long int LLint=2147483647; //9223372036854775807;
LLint=LLint;
long int Lint=-2147483647;
printf("%ld\n",LLint);
printf("%ld\n",Lint);
long sizeLL=sizeof(LLint);
long sizeL=sizeof(Lint);
printf("%ld %ld\n",sizeLL,sizeL);
puts("");
}
int main()
{
proc1();
proc2(3,4);
proc2(7,10);
proc3();
to msdner() :单行注释是可以的,你打开了Support all ANSI standard C programs这个选项了吧。将C complier中的选项都设为No就可以了。
此外,变量可以随意位置定义(除了循环条件如for(...;...;...;)中定义等)。
现在还没有什么编译器完全支持C99,据说Borland C++ BuilderX中将完全支持,但看了techview后也表示怀疑。
能支持一部分就不错了,总要有个过程嘛。
to msdner() :我觉得两个版本都不错,但是4.9.8.3更慢了一些。由于编译器实际没有变化,我觉得这个版本主要是IDE的修正更新,实质是一样的。