c语言如何用循环定义多个变量
就是经过一个for(i=0;i<n;i++){//产生n个变量分别是N1到Nn}记住n未知再for前由用户输入,别跟我说直接用数组,都说了n未知,也别说用动态数组就完了,...
就是经过一个for(i=0;i<n;i++){//产生n个变量分别是N1到Nn}记住n未知再for前由用户输入,别跟我说直接用数组,都说了n未知,也别说用动态数组就完了,写出代码给我看
展开
7个回答
展开全部
#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;i>0;i--)
p[n-i]=i;
for(i=n;i>0;i--)
printf("%d ",p[i-1]);
printf("\n");
}
#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;i>0;i--)
p[n-i]=i;
for(i=n;i>0;i--)
printf("%d ",p[i-1]);
printf("\n");
}
展开全部
在C语言中,不能通过循环语句来定义多个变量。
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;
for(i=0; i<4; i++)
{
int a; // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用指针来动态分配内存,比如
int size=8;
int *nums;
nums=(int *)malloc(sizeof(int)*size);
然后你就可以把nums当成长度为8的数组使用了,其操作方式和int nums[8];一模一样
int size=8;
int *nums;
nums=(int *)malloc(sizeof(int)*size);
然后你就可以把nums当成长度为8的数组使用了,其操作方式和int nums[8];一模一样
更多追问追答
追问
哦,还有一个要求就是变量名是N1,N2,N3一直到Nn
追答
不好意思,我编程这些年,就没见过这么长串变量的,同类型变量最好用数组来表示,要不然别人都看不懂的,而且极其浪费代码。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define ID(x) int i##x
for(int i = 0;i<n;i++)
ID(i);
不过这样有个缺点 那就是每次你只能用一个数 并且在外面不可见
你可以用静态声明 在最后一个数声明后一起使用 嘿嘿
for(int i = 0;i<n;i++)
ID(i);
不过这样有个缺点 那就是每次你只能用一个数 并且在外面不可见
你可以用静态声明 在最后一个数声明后一起使用 嘿嘿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C语言中,不能通过循环语句来定义多个变量。
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;
for(i=0; i<4; i++)
{
int a; // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;
for(i=0; i<4; i++)
{
int a; // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询