为什么是随机的,不是很理解(语言-c语言)

#include<stdio.h>
int n=1;
main()
{

int n=n;
printf("%d",n);

```

```}

你把main函数中的int去掉就不是随机的了

为什么是随机的?你的话没有描述清楚,我们也不知道你到底要什么

重名

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7685280
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:数据结构中的校园导航系统---c语言
  • 除此之外, 这篇博客: 字符串中子串的查找 -- C语言中的 思路 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    使用两个循环,外循环遍历主串,内循环遍历查找串,主串一个字符一个字符的后移,分别和查找串进行批评,找到了就返回

     

  • 您还可以看一下 徐家乾老师的极简C语言入门课程课程中的 C语言函数小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    背景信息:随机数函数是C语言常用的函数之一,通过生成伪随机数的方法来模拟随机事件。在C语言中,使用rand()函数可以生成一个伪随机数,其返回值是0到RAND_MAX范围内的一个整数。

    问题描述:有些程序中会使用随机数函数,用于模拟一些随机事件或生成一些随机数据。但是每次运行程序时,随机数的值都不同,导致程序的输出结果也不同,这让我很困惑。

    解决方案: 1. 理解随机数函数的生成方式 rand()函数的实现方式是通过某种算法生成一个伪随机数,这个数的值是在一定范围内的。具体的实现方式可能不同,但生成的每个随机数在某种程度上都具有随机性。

    1. 初始化随机数种子 在使用rand()函数之前,应该先使用srand()函数对随机数种子进行初始化。因为rand()函数的具体实现方式是通过种子产生的,如果不对种子进行初始化,每次运行程序时都会使用相同的种子,从而生成相同的随机数序列。
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    {
        // 初始化随机数种子
        srand(time(NULL));
    
        // 生成5个随机数
        for (int i = 0; i < 5; i++) {
            printf("%d ", rand());
        }
        printf("\n");
    
        return 0;
    }
    

    在上面的例子中,我们使用time(NULL)作为随机数种子,这样每次运行程序都会生成不同的随机数序列。如果不对随机数种子进行初始化,那么生成的随机数序列就会相同。

    1. 记住随机数生成的范围限制 由于rand()函数生成的随机数是在0到RAND_MAX范围内的一个整数,因此在使用时需要对生成的随机数进行一定的范围限制。例如,如果需要生成1到100之间的随机数,可以使用以下方法。
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    {
        srand(time(NULL));
    
        // 生成1到100之间的随机数
        int rand_num = rand() % 100 + 1;
        printf("%d\n", rand_num);
    
        return 0;
    }
    

    在上述代码中,我们使用rand() % 100 + 1来限制随机数的范围为1到100。

    总结: 使用随机数函数可以帮助我们模拟随机事件或生成随机数据,但在使用时需要注意随机数种子的初始化和范围的限制。对于rand()函数的实现方式和具体的参数可以参考C语言标准。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^