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未知,也别说用动态数组就完了,写出代码给我看 展开
 我来答
UFO_series3
2012-04-30 · 超过32用户采纳过TA的回答
知道答主
回答量:110
采纳率:100%
帮助的人:57.9万
展开全部
#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");
}
天云小店
2015-06-02 · TA获得超过2.8万个赞
知道大有可为答主
回答量:3281
采纳率:91%
帮助的人:772万
展开全部

在C语言中,不能通过循环语句来定义多个变量。

因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。


举例如下:

int i;
for(i=0; i<4; i++)
{
    int a;  // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友58f1315
2012-04-30 · TA获得超过857个赞
知道小有建树答主
回答量:290
采纳率:83%
帮助的人:199万
展开全部
用指针来动态分配内存,比如
int size=8;
int *nums;
nums=(int *)malloc(sizeof(int)*size);
然后你就可以把nums当成长度为8的数组使用了,其操作方式和int nums[8];一模一样
更多追问追答
追问
哦,还有一个要求就是变量名是N1,N2,N3一直到Nn
追答
不好意思,我编程这些年,就没见过这么长串变量的,同类型变量最好用数组来表示,要不然别人都看不懂的,而且极其浪费代码。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a1c2b06
2012-10-30 · 超过14用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:45.5万
展开全部
#define ID(x) int i##x

for(int i = 0;i<n;i++)
ID(i);

不过这样有个缺点 那就是每次你只能用一个数 并且在外面不可见

你可以用静态声明 在最后一个数声明后一起使用 嘿嘿
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
士佁扈芸芸
2020-01-05 · TA获得超过4297个赞
知道大有可为答主
回答量:3152
采纳率:28%
帮助的人:203万
展开全部
在C语言中,不能通过循环语句来定义多个变量。
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;
for(i=0; i<4; i++)
{
int a; // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式