float *n1 = n;
时间: 2023-12-31 13:05:42 浏览: 36
你好!根据你提供的代码,我注意到你想将一个浮点数变量n的地址赋值给一个指向浮点数的指针n1。然而,你的代码存在一些问题。
首先,你声明了一个指向浮点数的指针n1,但是没有为其分配内存空间。在C语言中,指针变量在使用之前需要分配内存,可以使用malloc函数或声明一个指针并指向一个已有的变量。
其次,在赋值语句中,你将n的值赋给了n1,而不是n的地址。如果你想将n的地址赋给n1,可以使用取地址运算符"&"。
根据你的意图,以下是修正后的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
float n = 3.14;
float *n1 = &n; // 将n的地址赋给n1
printf("n = %f\n", n);
printf("n1 = %p\n", n1); // 打印n1指针的值(即n的地址)
printf("*n1 = %f\n", *n1); // 打印n1指针指向的值(即n的值)
return 0;
}
```
这里,我们声明了一个浮点数变量n,并将其地址赋给了指针变量n1。然后,我们打印了n和n1的值以及n1指针指向的值。你可以运行代码来查看结果。
如果你还有其他问题,请随时提问!
相关问题
测试如下程序段: main() { int i=1;n1=n2=0; float sum=0; float average; float score[100]; while(score[i]!=-1&&n2<50) { n2=n2+1; if(score[i]>0&&score[i]<100) { n1=n1+1; sum=sum+score[i]; } i=i+1; } if(n1>0) average=sum/n1; else average=-1; printf(“n1=%d,总和=%f,平均值=%f\n“,n1,总和,平均值);} 要求:①画出这段代码的程序流程图和控制流程图;②计算环路复杂度;③列出独立路径;④设计测试用例。
以下是对于您的问题的回答:
①程序流程图:
![程序流程图](https://i.imgur.com/oVt8ZoP.png)
①控制流程图:
![控制流程图](https://i.imgur.com/haL3xMg.png)
②计算环路复杂度:
根据上述控制流程图,可以得到环路复杂度为1。
③列出独立路径:
1. 开始 -> i=1; n1=n2=0; sum=0; -> while循环
2. while循环 -> score[i]!=-1 && n2<50 -> if语句
3. if语句 -> score[i]>0 && score[i]<100 -> n1=n1+1; sum=sum+score[i];
4. if语句 -> 结束while循环
5. 结束while循环 -> n1>0 -> 计算average
6. 结束while循环 -> n1<=0 -> average=-1
7. 打印输出结果
④设计测试用例:
1. score数组中只有一个-1元素,期望输出结果为n1=0,总和=0,平均值=-1。
2. score数组中只有一个小于0的数,期望输出结果为n1=0,总和=0,平均值=-1。
3. score数组中只有一个大于等于100的数,期望输出结果为n1=0,总和=0,平均值=-1。
4. score数组中只有一个有效数,期望输出结果为n1=1,总和=有效数,平均值=有效数。
5. score数组中有多个有效数,期望输出结果为n1=有效数个数,总和=有效数之和,平均值=有效数之和/n1。
1.测试如下程序段: main() { int i=1;n1=n2=0; float sum=0; float average; float score[100]; while(score[i]!=-1&&n2<50) { n2=n2+1; if(score[i]>0&&score[i]<100) { n1=n1+1; sum=sum+score[i]; } i=i+1; } if(n1>0) average=sum/n1; else average=-1; printf(“n1=%d,sum=%f,average=%f\n”,n1,sum,average); } 要求:①画出这段代码的程序流程图和控制流程图;②计算环路复杂度;③列出独立路径;④设计测试用例。
1. 程序流程图如下:
![程序流程图](https://i.imgur.com/nZpZMg3.png)
2. 控制流程图如下:
![控制流程图](https://i.imgur.com/ohXv6lV.png)
根据控制流程图,可以得到程序的环路复杂度为3。
3. 独立路径如下:
- 1-2-3-4-5-6-7-8-11-12
- 1-2-3-4-5-6-7-8-9-10-11-12
4. 设计测试用例:
- 测试用例1:score数组中只有一个元素,且为-1。预期输出:n1=0,sum=0,average=-1。
- 测试用例2:score数组中只有一个元素,且为0。预期输出:n1=0,sum=0,average=-1。
- 测试用例3:score数组中只有一个元素,且为101。预期输出:n1=0,sum=0,average=-1。
- 测试用例4:score数组中有多个元素,且全部为0。预期输出:n1=0,sum=0,average=-1。
- 测试用例5:score数组中有多个元素,且有正数、负数、0和大于100的数。预期输出:n1为正整数,sum为所有正整数的和,average为所有正整数的平均值。