一个指针存储数组不成功的问题,求解!请回贴吧!
程序代码:
#include <stdio.h> int main(void) { float time = 0; int *pPoss = 123; /*因为要遍历一个星级,而可能星级又不止一种,所以使用数组存储,但不知道要如何传递数组中的多个数据给变量,所以使用指针*/ int poss[2][3] = {{1,2,3,4},{2,3,4,5},{3,4,5,0}};/*6星,单独进行判断*/ /*poss = 可能性 = possibility*/ printf("请输入招募的时间限制:小时.分钟"); scanf("%f", &time); if(time <= 1 && time > 4.0) pPoss = poss[0][0]; else if(time <= 4 && time >= 7.3) pPoss = poss[1][0]; else if(time <= 7.4 && time >= 9) pPoss = poss[2][0]; /*加了*号也不对,请将讲一下,这里很晕*/ printf("%f\n",time); /*测试*/ printf("%d\n",poss[0][0]); printf("%d",pPoss); }
之前说的游戏抽卡结果预测的一部分,选择要花费的时间,
比如选择 1 小时10分(单位每10),可能的稀有度为 1,2,3星
通过看书解决了二维数组定义,switch()无法进行判断的问题(惭愧)。
成功构建运行,发现输出不正确,似乎指针没能正确存储数组地址,请问这是怎么回事?
例如输入 1.5
输出
1.50000
1
123(似乎没能存储)
预谢!
[此贴子已经被作者于2019-5-26 04:23编辑过]