为什么数组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
.
如果我坚持使用全局变量(如果可能的话),那会是什么样的答案?
我知道有一种方法可以使用Python找到100个数字的总和!(或任何其他大数字的阶乘).但是我觉得在C++方面真的很难,因为即使是LONG LONG的规模还不够.
我只是想知道是否还有其他方法.
我知道它是不可能的,因为我们的处理器通常是32位.我所指的是其他一些棘手的技术或算法,可以使用相同的资源完成相同的工作.
当使用派生类的对象访问"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)
如何在派生类中访问具有相同名称的方法的基类方法.生成的错误已显示.如果我不清楚,我道歉,但我觉得我已经把自己弄清楚了.提前致谢.
为什么这段代码会崩溃?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)
请在引用数组和指针时给出正确的方法.
我猜想它们都应用了相同的逻辑,即用产生规则中提供的相应非终结元素替换匹配的字符串。
为什么他们将LL as top down
和分类LR as bottom-up
?
考虑代码
#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,我该如何输入字符指针?如果我不清楚,我道歉.提前致谢:)
我从我的一个朋友那里听说,交换的最佳算法是"(a ^ = b ^ = a ^ = b)",其中a和b是要交换的两个整数.但是当我使用c语言应用它时,它导致崩溃.你们中的任何人都可以解释可能的原因吗?请建议最佳的交换算法.谢谢!!!!伙计们,我想知道崩溃的原因.
当程序有两个例外时,程序会表现什么.而且他们都没有被抓住.将调用什么类型的处理程序.我们可以说两种例外都是不同类型的.如果我不清楚我会道歉,但我觉得我已经让自己清楚了.谢谢!!!
如果try块抛出异常并且退出try会破坏所有自动变量怎么办.让我们说一个是自动对象,它的析构函数再次抛出异常.现在我们有两个未被捕获的异常.我的问题是基于这个事实.谢谢!!
我有以下代码
int main()
{
int a=6;
void *p;
p=&a;
p++;
}
Run Code Online (Sandbox Code Playgroud)
这里的void指针是否按特定值递增(如果它保存任何数据类型的地址)?
在上面的情况下p
,即使它指向一个整数值,也会增加1.据我所知,上面的代码调用Implementation Defined
行为.
所以问题是:在链表中找到第k个节点frm if nodes a disappearing once read
.这应该只在一个通道中完成.
尽量避免额外的记忆.
我知道这个问题的简单解决方案,其中两个指针(P和Q让我们说)到标题节点,并且它们的P增加N次,然后两个指针递增.指针Q指向最后的第N个元件.
但问题在这里有所不同.一旦读取节点就会消失,所以无法使用两种指针方式.
请在阅读之前不要关闭这个问题.因为这个问题不同.
谢谢
c ×5
c++ ×4
crash ×2
algorithm ×1
arrays ×1
coldfusion ×1
duck-typing ×1
inheritance ×1
input ×1
linked-list ×1
parsing ×1
pointers ×1
portability ×1
return-value ×1
swap ×1
terminology ×1