几个基本的C问题

几个基本的C问题,c,C,我是一个试图学习C语言的人,但我在做项目时遇到了一些问题: 1) 如何准确地实现随机整数生成?我已经在谷歌上搜索并找到了0到x代的代码,下面的代码,但是我决定的2个整数之间(比如x和Y之间)如何 2) 如何在开始时将变量设置为NULL(如在Java中),并在其为NULL时对其进行操作?例如,我希望实现以下目标: int a = null; if (a == null){ a = 3; } int x = -1; if (x == -1) { x = 3; } else { /* do

我是一个试图学习C语言的人,但我在做项目时遇到了一些问题:

1) 如何准确地实现随机整数生成?我已经在谷歌上搜索并找到了0到x代的代码,下面的代码,但是我决定的2个整数之间(比如x和Y之间)如何

2) 如何在开始时将变量设置为NULL(如在Java中),并在其为NULL时对其进行操作?例如,我希望实现以下目标:

int a = null;
if (a == null){
    a = 3;
}
int x = -1;
if (x == -1) { x = 3; } else { /* do nothing */ }
要获得所需的范围(y-x),请将每个随机数乘以(y-x)。要使它们从x开始并在y结束,请将x添加到每个数字(已乘以(y-z))。假设y>x

int i;

for (i = 0; i < NrOfNumers; i++)
{
   randomNumberSequence[i] = randomNumberSequence[i]*(y-x) + x;
}
inti;
对于(i=0;i
1) int r=随机(Y-X)+X

(二) 整数在C或Java中都不能为null。在C中,只有指针可以为null,通过将指针指向零来表示。然而,我建议你在了解基本知识之前不要把指针弄得一团糟

1-如何准确实现随机整数生成[…]

请看,后者明确回答了这个问题

2-如何在开头设置变量null


对于浮点数和整数类型,将它们指定给魔法值0。对于指针,您可以将其分配给0(再次)或C中的宏
NULL

,您通常会看到以下内容:

int a = null;
if (a == null){
    a = 3;
}
int x = -1;
if (x == -1) { x = 3; } else { /* do nothing */ }
这假定值类型实际上是无符号的,或者至少-1不是有效值。您还可以执行以下操作:

#define UNINITIALIZED    ((int8_t) -128) /* -128 has no inverse with 8-bit */
...
int8_t x = UNINITIALIZED;
if (x == UNINITIALIZED) { x = 3; } else { /* do nothing */ }

如果randomNumberSequence()是一个函数,为什么要赋值给它?如果它是一个列表,为什么要使用()而不是[]?Oops,太多地使用matlab了。C中没有
random
函数。实际上,
stdlib.h
中有
rand
,但没有名为
random
的标准函数。实际上,整数(java.lang.Integer)在java中可以为空。它是本机int,不能为null。