首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

c语言如何用循环定义多个变量

发布网友 发布时间:2022-04-23 21:27

我来回答

5个回答

热心网友 时间:2023-10-13 16:59

#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");
}

热心网友 时间:2023-10-13 16:59

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

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


举例如下:

int i;
for(i=0; i<4; i++)
{
    int a;  // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}

热心网友 时间:2023-10-13 17:00

用指针来动态分配内存,比如
int size=8;
int *nums;
nums=(int *)malloc(sizeof(int)*size);
然后你就可以把nums当成长度为8的数组使用了,其操作方式和int nums[8];一模一样

热心网友 时间:2023-10-13 17:00

#define ID(x) int i##x

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

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

你可以用静态声明 在最后一个数声明后一起使用 嘿嘿

热心网友 时间:2023-10-13 17:01

在C语言中,不能通过循环语句来定义多个变量。
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;
for(i=0; i<4; i++)
{
int a; // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com