重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdlib.h
目前创新互联建站已为千余家的企业提供了网站建设、域名、网络空间、网站运营、企业网站设计、红山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
#include stdio.h
void main(){
int i;//循环变量
int n;//变量个数
int *p;//动态存储区的首地址
scanf("%d",n);
//开辟存放n个数据的存储区
p=(int*)calloc(n,sizeof(int));
/*
通过*(p+i)或p[i]就可以对该数据区的数据进行处理。如果是其它数据类型例如float,只需将指针p的类型改为float,calloc返回的指针类型也改为float就行。
*/
/*
以下是测试代码,先对n个数据赋予n,n-1 ,n-2,... ,1,然后从最后一个向第一个依次输出。
*/
for(i=n;i0;i--)
p[n-i]=i;
for(i=n;i0;i--)
printf("%d ",p[i-1]);
printf("\n");
}
1.for语句的一般格式
for([变量赋初值];[循环继续条件];[循环变量增值])
{
循环体语句组;}
2.for语句的执行过程
执行过程如图5-1所示。
(1)求解“变量赋初值”表达式。
(2)求解“循环继续条件”表达式。如果其值非0,执行(3);否则,转至(4)。
(3)执行循环体语句组,并求解“循环变量增值”表达式,然后转向(2)。
(4)执行for语句的下一条语句。
3.说明
(1)“变量赋初值”、“循环继续条件”和“循环变量增值”部分均可缺省,甚至全部缺省,但其间的分号不能省略。
(2)当循环体语句组仅由一条语句构成时,可以不使用复合语句形式,如上例所示。
(3)“循环变量赋初值”表达式,既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其它表达式(如逗号表达式)。
例如,for(sum=0;i=100;i++)
sum
+=
i;
for(sum=0,i=1;i=100;i++)
sum
+=
i;
(4)“循环继续条件”部分是一个逻辑量,除一般的关系(或逻辑)表达式外,也允许是数值(或字符)表达式。
标准c语言,变量声明必须在语句之前,for 小括号中声明/定义变量是语法错误。
for(int i=0;in;i++) -- 语法错误。
标准c语言,每对花括号之间为一个域,每个域中可以声明/定义变量,它的作用域就是花括号之间。花括号套花括号,则外域量 可以作用到 内域,除非 内域 声明了 同名 变量。
int i;
for(i=0;i2;i++)
{ int j; // 这里允许声明,作用域是花括号之间
j=i*2; // 语句
printf("%d ",j); // 语句
}
i-1不会改变i的值,只是得到一个比i小1的临时值
i++会改变i的值,但是是在当前i的值被使用过之后,i的值就会增加1
1、 二毛XP 、weileshubiao、jyrensl 、只叹那些流年,你们都误解楼主的意思了,楼主说的是要一个一个变量,而不是数组。
2、我的完整实现(可以实现循环输出所有变量,但不涉及到所有变量名):
#include stdio.h
int main()
{
int a1=1,a2=2,a3=3,a4=4,a5=5,a6=6,a7=7,a8=8;
int i=0;
for(;i!=8;i++)
printf("%d",*((int*)(a1+i)));
return 1;
}