70,023
社区成员




#include <stdio.h>
int main()
{
int n=0,i;
double b[12]={5,0.3,0.2,1,0.9,3,7,15,10,13,0.1,2},a[n];
double num;
scanf("%lf",&num);
for(i=0;i<12;i++)
{
if(b[i]>=num)
{
a[n++]=b[i];
}
printf("这个倒霉的num变成了%lf\n",num);
}
for(i = 0; i<n; i++)
printf("%.1f ", a[i]);
return 0;
}
int g;
( & g) [0] = 5;
int g;
( & g) [0] = 5;
对于这样的代码~[/quote]我都不知道说什么好了,你为什么总抓不住重点。我强调的是要引入“整数名”和“浮点名”,而且认为“整数名也是数组,也是指针”,所以举了这样一个例子,你又往代码的可读性上扯。没有可读性就不是代码了?没有可读性就不能运行了?它是不是合法的C语言代码呢?这样唠嗑啥时候才能是个头哇。int g;
( & g) [0] = 5;
并且早就被解析通透并早已被我摒弃
int g;
( & g) [0] = 5;
可以正常工作,所以我决定下一个结论:整数名在某些条件下等同于数组;在某些条件下也等同于指针。
(int[10])value //是错的
(int*)value //是对的
int arr[10];
//&arr 是一个数组指针类型表达式 类型是 int(*)[10]
int* p;
//&p 是一个二级指针表达式 类型是 int**