小编Rad*_*gia的帖子

下面的变量声明是否会导致词法错误或语法错误?

如果我声明变量就好

int a/*comment*/ ; //This does not give any error .
int a/*comment*/bc; This gives error
Run Code Online (Sandbox Code Playgroud)

现在我没有得到这背后的原因,据我说,当符号/被读取后第一次读取字符a时,它会切换到DFA的其他状态以识别其他一些模式,因此没有错误在读取注释后的第二种情况下,它会找到一些不属于正式模式的其他序列,因此它会在有限自动机的某些非最终状态中停止,因为它会产生错误.

请清除这种困惑.

c syntax compiler-errors syntax-error

6
推荐指数
3
解决办法
95
查看次数

哪种排序算法应该用于以下场景?

给出的问题陈述是"您正在使用一个只有4 KB可用内存的嵌入式设备(ATM),并且您希望按提取的金额对2,000,000个交易的抽签历史进行排序(丢弃原始交易顺序) )".

对于这个问题陈述,据我说我们应该使用合并排序,这个排序算法有什么问题吗?

sorting algorithm

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

为什么将内置库函数声明为标识符名称是合法的?

这是变量printf的声明:

int printf=90;
Run Code Online (Sandbox Code Playgroud)

这运行没有任何错误,但如果我尝试使用给定名称printf打印标识符的值,那么它会给出错误,那么为什么尽管编译器允许printf用作标识符但我们不能以后打印它的价值.

c

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

Bellman-ford和Floyd warshall算法之间的基本区别是什么?

我只是有一个困惑,就是在Bellman-ford的情况下,我们将其运行n-1次,这没有任何优势,而在Floyd warshall算法中,我们在每个阶段都运行了n次,所以我们在Bellman-ford的情况下不包括源顶点,这就是为什么我们将其运行n-1次,因此我对n和n-1有点困惑,请对此进行澄清。

algorithm

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

为什么我们不能在另一条评论中嵌入一条评论?

/*
/**hiiii**/
*/
Run Code Online (Sandbox Code Playgroud)

说我像这样嵌套评论,所以这有什么不对?在开始时我们有/*一个字符串在里面,然后最后我们在最后*/,所以这里的错误是什么?

c syntax comments

-1
推荐指数
1
解决办法
1078
查看次数

为什么我们不能使用带数组名的间接运算符?

在下面的代码中,为什么我不能取消引用数组名,因为当一个数组作为参数传递给一个函数时,它就成了指向数组第一个元素的指针,那么为什么我们不能取消引用呢?

#include <stdio.h>
int main(void) {

    char s[] = "radha";
    int a[2] = {0,1};
    printf("%s ", *s);
    printf("%d", *a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我为上面的代码得到了分段错误,这里的原因是什么,当我使用[0]时,它在内部被转换为*(a + 0),那么简单地做*a或*S的问题是什么呢?澄清.

c

-3
推荐指数
1
解决办法
127
查看次数

为什么C中的全局变量的存储类隐式定义为"extern"?

例如,当我们声明任何全局变量时

int x;
Run Code Online (Sandbox Code Playgroud)

它相当于

extern int x; 
Run Code Online (Sandbox Code Playgroud)

现在默认情况下,编译器将全局变量初始化为0,这意味着它们被分配了内存.但如果我只是写

extern int x;
Run Code Online (Sandbox Code Playgroud)

那么这只会声明变量,而不会分配任何内存.所以,我的查询是,如果我之前写externint x或者我不写它,在全局变量的情况下,编译器如何区别对待它们?在我简单写入的情况下int x,它分配内存并同时将extern置于之前int x,而在我写入的情况下extern int x,它只声明变量而没有分配内存.请说明编译器如何以两种方式运行.

c scope global-variables extern

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

如何将内存分配给宏?

对于下面的代码,我定义了一个宏abc,其值已重新定义两次.当我们运行代码时,输​​出是一些垃圾值,我没有得到宏如何获取垃圾值,当它是一个宏,内存不能分配给宏abc

    #include<stdio.h>
    #define abc 10
    #define abc "rd"
    int main()
    {
    printf("%d",abc);
    return 0;
    }
Run Code Online (Sandbox Code Playgroud)

c

-7
推荐指数
1
解决办法
89
查看次数