在C语言中,rand、srand和goto是常用的函数和关键字,它们分别用于生成随机数、设置随机数种子和控制程序的跳转。在本文中,我们将详细介绍这三个的用法,并注意一些需要避免的陷阱。
1.rand函数与srand函数: rand函数是C语言中用于生成伪随机数的函数,它返回一个范围在0到RAND_MAX之间的整数。使用rand函数之前,我们需要调用srand函数来设置随机数种子,以保证每次程序运行时生成的随机数序列不同。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 设置随机数种子
srand((unsigned int)time(NULL));
// 生成10个随机数
printf("生成的随机数为:");
for (int i = 0; i < 10; i++) {
printf("%d ", rand());
}
return 0;
}
2.goto语句: goto是C语言中的一个关键字,用于实现跳转。尽管goto在某些情况下可以简化程序的控制流程,但过度使用goto会导致程序的可读性变差,产生不易维护的代码。因此,应该谨慎使用goto,尽量使用其他控制结构,如if、while、for等来实现程序逻辑。
#include <stdio.h>
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (num <= 0) {
// 输入不合法,跳转到错误处理
goto ERROR;
}
// 其他逻辑处理
// ...
return 0;
// 错误处理标签
ERROR:
printf("输入不合法!\n");
return -1;
}