作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试实现一个在一定时间内掷骰子的函数。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int * rollDice(int len) //len = times the dice is rolled.
{
int ints[len];
int i = len-1;
while(i>0)
{
ints[i--] = (rand()%6)+1;
}
return ints;
}
int main(int argc, const char * argv[])
{
int * ints = rollDice(10);
for(int i =0; i<10; i+=1)
{
printf("%d ",*(ints+i));
}
return 0;
}
程序总是打印这个,我的指针概念是错误的吗?
104 0 0 0 1919706998 2036950640 1667723631 1836545636 16 48
最佳答案
你不能这样做
return ints;
它是在堆栈上声明的。您需要向其传递足够的内存,或者使用 malloc 在函数中分配内存并将其传回。
int * rollDice(int len) //len = times the dice is rolled.
{
int *ints = malloc(sizeof(int) * len);
int i = len-1;
while(i>0)
{
ints[i--] = (rand()%6)+1;
}
return ints;
}
关于c - 我应该如何在 C 中实现 rollDice() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36413160/
我尝试实现一个在一定时间内掷骰子的函数。 #include #include #include int * rollDice(int len) //len = times the dice is
我正在尝试实现一些图形,但我在调用最底部显示的函数 int rollDice() 时遇到问题,我不确定如何解决这个问题?任何想法...我收到错误错误 C3861:“rollDice”:找不到标识符。
我正在尝试实现一些图形,但我在调用最底部显示的函数 int rollDice() 时遇到问题,我不确定如何解决这个问题?任何想法...我收到错误错误 C3861:“rollDice”:找不到标识符。
当我最初在 rollDice() 函数中使用 srand(time(NULL)) 时,它不起作用。但是当我把它放在主要的时候,它就起作用了。这是为什么?你能告诉我逻辑吗? #include #inc
我是一名优秀的程序员,十分优秀!