简介 目录 评价 推荐
  • 慕虎7513346 2025-02-08
    第1句是什么意思?😭

    头文件

    😎

    1回答·8浏览
  • 娜娜_ablVY9 2025-01-25
    如何安装在mac呢?

    去官网下载 Visual Studio Code - Mac、Linux、Windows,这个连接里会有mac下载

    1回答·19浏览
  • 慕工程9138143 2025-01-12
    错在哪里了?

    在printf("Hello World!\n")和return 0后面没有加";"号。

    1回答·22浏览
  • 慕雪5415976 2024-11-23
    为什么运行失败?

    你的代码中存在一个格式错误,导致编译器无法正确识别 printf("\n") 这一行。在 C 语言中,语句必须以分号(;)结束。因此,你需要在 printf("\n") 后面添加一个分号。下面是修复后的完整代码:

    #include<stdio.h>
    
    int main(int argc, char **argv)
    {
        for(int i = 0; i < 5; i++)
        {
            for(int j = 0; j < 8; j++)
            {
                printf("*");
            }
            printf("\n");
        }
        return 0;
    }
    

    现在,这段代码应该可以正常编译并运行,输出预期的图形。

    1回答·33浏览
  • 慕雪5415976 2024-11-20
    问题是什么

    要求就是你自己定两个整数,一个浮点数,输出两个整数加减乘除的结果,输出一个整数与浮点数作加法的结果

    1回答·42浏览
  • 慕雪5415976 2024-11-11
    main函数的括号可以空着不写内容吗

    核心问题解答

    问题1:main函数的括号可以空着不写内容吗?

    在C++中,main函数的标准形式有两种:

    • int main()
    • int main(int argc, char* argv[])

    其中,第一种形式是最简单的,没有参数传递给程序。第二种形式允许命令行参数传递给程序,其中argc是命令行参数的数量(包括程序名本身),而argv是一个指向这些参数的指针数组。

    如果你不需要从命令行接收任何参数,那么你可以使用int main()这种形式,即括号内为空。因此,在你的例子中,将main函数定义为int main()是完全正确的,并且符合C++标准。

    修复后的完整代码

    #include <stdio.h>
    #include <iostream>
    
    int main() 
    { 
        printf("Hello World! This is C Style\n"); 
        std::cout << "Hello World! This is C++ Style\n" << std::endl; 
        return 0; 
    }
    

    这段代码已经满足了题目要求的功能,同时保持了简洁性。如果你确实需要处理命令行参数,再考虑使用int main(int argc, char* argv[])的形式。

    1回答·60浏览
  • 慕雪4367237 2024-10-11
    所有的指针均指向指针类型的首地址嘛

    基本上可以这么理解,不太确切,补充一下,例如后半句中“所有的指针指向的均为该类型的首地址”,这个不一定,无论指针指向什么类型的数据,它都指向一个内存地址,例如数组指针类型就是指该数组的首位元素的内存地址,字符串指针类型就是指向改字符串第一个字符的内存地址。

    1回答·42浏览
  • 秋瑾的瑾_adkqH2 2024-09-23
    在使用枚举运行季节时无法正常运行,请问这是为什么呢?

    程序运行需要main函数的;

    2回答·66浏览
  • 慕侠9395769 2024-09-07
    3-7内容

    因为是将b的值赋给了a

    1回答·66浏览
  • 慕侠9395769 2024-09-05
    换行符号/n的具体作用是什么

    首先,你想说的应该是 \n 而不是 /n 。这是两个不同的符号。

    其次,\n 是转义字符的一种,表达换行操作(new line)。而转义字符则是辅助输出无法被直接写进printf()的内容的工具。

    1回答·80浏览
  • qq_幕布斯4357817 2024-08-25
    为什么long字节是8

    long型字节数为8的原因是因为8字节可以提供足够的范围来表示非常大的整数。‌ C++语言的设计者们认为,使用8个字节的存储空间可以满足大多数应用场景中对大整数的需求‌。

    32位系统中,long类型占用4个字节,而在64位系统中,无论是long还是long long类型都占用8个字节。这是因为64位系统能够支持更大的内存地址空间和数据类型,因此long类型在64位系统中自然也扩展到了8个字节‌。



    1回答·66浏览
  • qq_幕布斯4357817 2024-08-25
    int main(int argc,char **argv)

    不一定,也可以不写,看你需不需要传参

    1回答·82浏览
  • Collapsar7471819 2024-08-14
    \n的作用

    换行的意思


    1回答·71浏览
  • weixin_慕瓜8062593 2024-08-14
    std::cin >> a >> b;

    在 C++ 中,std::cin 是标准输入流,用于从标准输入(通常是键盘)读取数据。而 <<>> 是两个不同的运算符,用于不同的操作:

    1. 插入运算符 <<:这是用于输出的运算符,通常与 std::cout(标准输出流)一起使用。当你看到 std::cout << someValue; 时,someValue 将被输出到控制台。

    2. 提取运算符 >>:这是用于输入的运算符,通常与 std::cin 一起使用。当你看到 std::cin >> a >> b; 时,程序将等待用户输入两个值,并将这些值分别赋给变量 ab

    std::cin >> a >> b; 这行代码中,>> 运算符用于从标准输入读取数据。用户输入的数据将被分隔开(通常是通过空格、制表符或换行符),并分别赋值给 ab。例如:

    cppint a, b;std::cout << "Enter two integers: ";std::cin >> a >> b;

    在这个例子中,程序会提示用户输入两个整数,然后使用 >> 运算符从标准输入读取这两个整数,并将它们分别赋给变量 ab

    总结来说,<<>> 的区别在于它们的用途:<< 用于输出,而 >> 用于输入。



    我在kimi上搜的,应该是对的


    1回答·114浏览
  • weixin_慕莱坞5581218 2024-08-05
    为什么最后bool c=1

    在 C++ 中,将 int 类型转换为 bool 类型遵循以下规律:

    • 非零值:任何非零的 int 值都会转换为 true

    • 零值int 值为零时会转换为 false

    int main() {    int a = 0;    int b = 42;    bool boolA = static_cast<bool>(a); // 转换为 false
        bool boolB = static_cast<bool>(b); // 转换为 true
    
        std::cout << "boolA: " << boolA << std::endl; // 输出 0 (false)
        std::cout << "boolB: " << boolB << std::endl; // 输出 1 (true)
    
        return 0;
    }


    1回答·91浏览
  • weixin_慕姐8597649 2024-07-21
    请问学的这些语法 C语言也可以用吗 这些好像基础通用吧

    666



    2回答·87浏览
  • 慕丝8541674 2024-07-15
    什么意思?
    0回答·113浏览
  • 梨多情 2024-07-09
    为什么不在释放堆内存之后,执行 `p = nullptr` 将指针置空,以避免出现悬挂指针?
    0回答·86浏览
  • cao 2024-05-18
    什么意思?为什么错?

    意思是:[错误]int和<未解析的重载函数类型>的操作数对二进制操作符<<
    错了,因为不能加<<endl

    1回答·129浏览
  • weixin_慕后端8337672 2024-04-06
    <<是什么意思,>> 呢

    在 C++ 中,<< 和 >> 是运算符,分别称为 insertion operator 和 extraction operator。

    Insertion Operator (<<)

    在 std::cout 语句中,<< 是一个 insertion operator,它将右侧的操作数插入到左侧的流(stream)中。在这个例子中,std::cout 是一个输出流,<< 将字符串 "Hello World !\n" 和 std::endl 插入到输出流中,以便将它们输出到控制台。

    insertion operator 的作用是:

    • 将右侧的操作数转换为字符串形式

    • 将字符串插入到左侧的流中

    Extraction Operator (>>)

    在输入流(例如 std::cin)中,>> 是一个 extraction operator,它从流中提取数据,并将其存储到左侧的变量中。

    extraction operator 的作用是:

    • 从流中提取数据

    • 将数据存储到左侧的变量中


    1回答·70浏览
  • 慕仰7545015 2024-03-29
    std后面的俩个::表示的是什么啊?有要求什么时候要用空格隔开和换行吗

    "std::"表示的是C++标准库中的命名空间。C++标准库中的大多数标识符都位于名为"std"的命名空间中。因此,当我们使用标准库中的类、函数或对象时,需要在它们的名称前面加上"std::"来指定它们位于"std"命名空间中。

    空格和换行是你的代码风格的问题,和输出的要求,没有严格贵司能够。有些人喜欢在“std:: ”之后加空格,有些人不加以节省空间。这只是对代码可读性的一些装饰,对输出的内容没有影响。

    1回答·140浏览
  • imooc_com 2024-03-25
    去掉do while(false)也完全成立?

    如果你问的问题是这个练习题 6-6强者争霸的话,去掉while也是完全成立的。因为while的条件是False,所以只会循环一次。你可以把while(False)去掉试一下,代码的逻辑保持不变,应该是没问题的。

    1回答·123浏览
  • 满江烟火3278656 2024-02-02
    第一个参数argc表示参数个数,第二个参数argv是参数组,这个作用是什么

    我也是新手,如果我没记错的话,是用于在命令行执行的时候,传递参数用的。就像我们在命令行窗口运行命令传递的参数一样,这里传递的也是字符串参数。第二个二级指针指向一个数组中。而这个数组类似我们在C语言中定义的一个指针数组。这里说起来话就长了,。

    1
    char *strings[] = { "Hello""World""C""Programming" };

    类似于这个数组,就是一个指针数组;这个指针数组里面有四个元素,这四个元素的值均为指针,其指向这四个常量字符串的首地址。例如访问第一个常量字符串可以使用strings[0], 这个“strings[0]”返回值是第一个常量字符串的首地址。这个常量字符串占用6字节,末尾一个0值。 

    说远了,我们知道数组名是一个指针,也就是"strings",这个指针是一个指向指针的指针,也就是二级指针。若要传递给一个函数,函数的形式参数就得是一个二级指针,然后直接将strings填上去即可。例如:

    1
    main(sizeof(strings), strings);

    sizeof(strings)返回值为4,因为数组里面就存了四个指针值。


    这样我们在程序内就可以访问到传入的任意一个字符串了。要问有几个字符串,我们可以直接通过main函数的第一个参数的值获取下来,例如要访问第二个字符串做printf打印,就可以这样写:

    1
    printf("%s\n", argv[1]);

    这样就可以打印出第二个字符串了。"argv[1]"返回的就是第二个字符串的首地址了;



    3回答·199浏览
  • 春山凭栏 2023-12-29
    这哪儿错了?

    代码逻辑没有错,是单词拼写错了,注意是 "Hello" ,而不是 "Hellow"。

    https://img1.sycdn.imooc.com/659a64cb0001000d12280472.jpg

    2回答·136浏览
  • weixin_慕九州1023062 2023-12-16
    为什么这串代码在visual studio上 运行不了呀,没有提示代码错误,但运行框里啥也没有

    啥也没有是对的,因为你也没有输出,只是赋值而已,还能有什么反应

    2回答·175浏览
  • weixin_慕无忌7470481 2023-12-14
    如何打印枚举变量的内容?

    在编程中,枚举变量通常用于定义一组具有离散取值的常量。每个枚举常量都与一个整数值关联,这些整数值按照定义顺序从0开始递增。

    默认情况下,第一个枚举常量的关联值为0,后续的枚举常量的关联值依次递增。你也可以显式地为枚举常量指定特定的关联值。

    枚举变量的提出是为了方便对一组离散的值进行管理和表示,而为了正确的限定这组离散的值的范围,就规定了枚举变量和整数值相关联。


    一般来说,我们不会对枚举变量的值进行打印,而是根据其值进行一些逻辑判断,例如下面的代码:

    if (my == myclass::math) {

            printf("my class is math!");

            // 处理 my 为 match 的逻辑

    }


    如果想打印其值的话,直接把枚举变量看作一个整数进行打印即可:

    printf("The value of my is: %d\n", my);

    当 my 为 match 的时候,值应该为 2,因为是从 0 开始排序的:

    enum myclass {

        chinese,      // 0

        english,       // 1

        math,           // 2

        PE,               // 3

        art,               // 4

        computer,    // 5

    };

    1回答·189浏览
  • qq_慕的地2560883 2023-11-28
    为什么输出的全是“成绩为优”

    因为慕课网这个运行程序没有终端,也就是说程序在执行到 std::cin >> a; 这句代码的时候没办法获取输入,所以变量 a 应该没有被赋值,也就是说它的值是个随机值,可以把它的值打印出来:
    https://img1.sycdn.imooc.com/659abf520001483a21941220.jpg
    可以看到变量 a 的值是 21990,是大于 90 的,另外“输出的全是优”这个问题的关键在于:
    在 C++ 中,部分数学判断表达式是不能直接写的,不符合程序语法,例如:

    90 <= a <= 100 就是个错误的写法,正确的写法是:a >= 90 && a <= 100 。
    你的 “90 <= a <= 100 ”的写法其实相当于一个表达式,即:(90 <= a) <= 100。程序执行时候是从左向右读取和执行的,所以先会读取 90 <= a 的结果,因为 a = 21990 是 >= 90 的,所以 (90 <= a) 的值就是 1,而 1 <= 100 又是 true,所以最终的结果是 1,因为条件为真,所以会执行到这个分支。
    同时,由于 if-else 分支的语法特性,只会执行一个分支,所以在 if 条件为真的时候,只会执行 if 分支,其他的 else if 和 else 分支就不会执行了,所以导致了 “输出的全是优”。
    可以自己打印下这个结果看下:
    https://img1.sycdn.imooc.com/659ac1bb0001771121780856.jpg

    1回答·195浏览
  • qq_慕的地2560883 2023-11-26
    stu是什么意思

    student的缩写,相当于一个变量名

    1回答·217浏览
  • weixin_慕的地1386384 2023-09-18
    不会英语的是不是没办法学编程

    我也不会一样学,只要记住相关的函数英文是用来干嘛的就行,不用纠结英文的意思

    1回答·220浏览
  • 慕UI6236911 2023-09-16
    不是说是c++教程吗,这里为什么用的是C的源文件

    C++中可以兼容C语言,所以这里采用C的源文件

    1回答·186浏览
数据加载中...
开始学习 免费