小编Ash*_*dav的帖子

为什么我不能创建一个大小由全局变量确定的数组?

为什么数组a不会被全局变量初始化size

#include<stdio.h>

int size = 5;

int main()
{
    int a[size] = {1, 2, 3, 4, 5};
    printf("%d", a[0]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译错误显示为

可能无法初始化可变大小的对象

据我说,数组应该初始化size.

如果我坚持使用全局变量(如果可能的话),那会是什么样的答案?

c arrays global-variables

20
推荐指数
4
解决办法
4万
查看次数

函数可以返回多个值吗?

可能重复:
从C++函数返回多个值

函数可以返回多个值吗?

编辑
除了通过引用返回.

c++ language-agnostic return-value

13
推荐指数
3
解决办法
5万
查看次数

有没有办法找到100的数字总和!?

我知道有一种方法可以使用Python找到100个数字的总和!(或任何其他大数字的阶乘).但是我觉得在C++方面真的很难,因为即使是LONG LONG的规模还不够.

我只是想知道是否还有其他方法.

我知道它是不可能的,因为我们的处理器通常是32位.我所指的是其他一些棘手的技术或算法,可以使用相同的资源完成相同的工作.

c++ algorithm

13
推荐指数
5
解决办法
6554
查看次数

删除指针是什么意思?

删除指针与释放指针(分配内存)相同吗?

c++ pointers memory-management

10
推荐指数
2
解决办法
3万
查看次数

使用派生类的对象访问基类的方法,该对象具有相同名称的方法

当使用派生类的对象访问"base"的foo()时.

#include <iostream>

class  base
{
      public:
      void foo()
     {
        std::cout<<"\nHello from foo\n";
     }
};

class derived : public base
{
     public:
     void foo(int k)
     {
        std::cout<<"\nHello from foo with value = "<<k<<"\n";
     }
};
int main()
{
      derived d;
      d.foo();//error:no matching for derived::foo()
      d.foo(10);

}
Run Code Online (Sandbox Code Playgroud)

如何在派生类中访问具有相同名称的方法的基类方法.生成的错误已显示.如果我不清楚,我道歉,但我觉得我已经把自己弄清楚了.提前致谢.

c++ inheritance

9
推荐指数
2
解决办法
8237
查看次数

为什么这段代码会崩溃?

为什么这段代码会崩溃?strcat在字符指针上使用非法?

#include <stdio.h>
#include <string.h>

int main()
{
   char *s1 = "Hello, ";
   char *s2 = "world!";
   char *s3 = strcat(s1, s2);
   printf("%s",s3);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

请在引用数组和指针时给出正确的方法.

c crash

6
推荐指数
1
解决办法
4316
查看次数

自上而下和自下而上解析技术之间的区别?

我猜想它们都应用了相同的逻辑,即用产生规则中提供的相应非终结元素替换匹配的字符串。

为什么他们将LL as top down和分类LR as bottom-up

parsing

5
推荐指数
1
解决办法
2万
查看次数

使用char指针和char数组输入

考虑代码

#include<stdio.h>
int main(void)
{
   char* a;
   scanf("%s",a);//&a and &a[0] give same results-crashes 
   printf("%s",a);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么这段代码导致崩溃?而使用字符数组的代码工作得很好?

#include<stdio.h>
int main(void)
{
   char a[100];
   scanf("%s",&a[0]);//works fine
   printf("%s",a);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

不同的是字符数组和指针?但是我知道指针只指向第一个元素是&a [0]应该工作正常但是高级代码崩溃所有三个是a,&a和&a [0]?我要收集的主要内容是,如果我坚持只使用scanf,我该如何输入字符指针?如果我不清楚,我道歉.提前致谢:)

c input

5
推荐指数
1
解决办法
9001
查看次数

交换的最佳算法?

我从我的一个朋友那里听说,交换的最佳算法是"(a ^ = b ^ = a ^ = b)",其中a和b是要交换的两个整数.但是当我使用c语言应用它时,它导致崩溃.你们中的任何人都可以解释可能的原因吗?请建议最佳的交换算法.谢谢!!!!伙计们,我想知道崩溃的原因.

c crash swap

5
推荐指数
2
解决办法
7730
查看次数

两个异常发生时会发生什么?

当程序有两个例外时,程序会表现什么.而且他们都没有被抓住.将调用什么类型的处理程序.我们可以说两种例外都是不同类型的.如果我不清楚我会道歉,但我觉得我已经让自己清楚了.谢谢!!!

如果try块抛出异常并且退出try会破坏所有自动变量怎么办.让我们说一个是自动对象,它的析构函数再次抛出异常.现在我们有两个未被捕获的异常.我的问题是基于这个事实.谢谢!!

exception-handling

5
推荐指数
2
解决办法
350
查看次数

C代码的可移植性

我有以下代码

int main()
{
   int a=6;
   void *p;
   p=&a;
   p++;
}
Run Code Online (Sandbox Code Playgroud)

这里的void指针是否按特定值递增(如果它保存任何数据类型的地址)?

在上面的情况下p,即使它指向一个整数值,也会增加1.据我所知,上面的代码调用Implementation Defined行为.

c portability

4
推荐指数
2
解决办法
260
查看次数

在被访问节点被删除时查找自上次的第N个节点

所以问题是:在链表中找到第k个节点frm if nodes a disappearing once read.这应该只在一个通道中完成.

尽量避免额外的记忆.

我知道这个问题的简单解决方案,其中两个指针(P和Q让我们说)到标题节点,并且它们的P增加N次,然后两个指针递增.指针Q指向最后的第N个元件.

但问题在这里有所不同.一旦读取节点就会消失,所以无法使用两种指针方式.

请在阅读之前不要关闭这个问题.因为这个问题不同.

谢谢

linked-list

4
推荐指数
1
解决办法
520
查看次数

鸭子在ColdFusion中打字

什么是鸭子打字以及ColdFusion如何相关?

coldfusion terminology duck-typing

2
推荐指数
1
解决办法
368
查看次数