小编h4c*_*k3d的帖子

为什么10/NULL计算为null?

在SQL中,为什么10/NULL计算为NULL(或未知)?示例:

if((10/NULL) is NULL)
    DBMS_OUTPUT.PUT_LINE("Null.");
Run Code Online (Sandbox Code Playgroud)

但是,1 = NULL作为比较被认为是假的.不应该将10/NULL视为FALSE吗?

我指的只是SQL.特别是没有任何DBMS.它可能是重复但我不知道在搜索此查询时要放置哪些关键字.

sql rdbms

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

Big-O表示法 - 算法分析

O(5n)= 5*O(n)?根据我的理解,O(5n)== O(n).他们不平等吗?如果我错了,请纠正我.

algorithm big-o

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

如何在typedef中使用static?

由于typedef是C中的存储类,因此不能与static变量一起使用.例如typedef static int SI,SI a是行不通的.那么有没有任何其他方式使用static与typedef?

我已经知道这可以做到#define SI static int.

C中的存储类

c static typedef

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

具有位域的struct的大小

    static struct{
            unsigned a:5;
            unsigned b:5;
            unsigned c:5;
            unsigned d:5;
    }v={1,2,3,4};

    printf("%d %d %d %d %d",v.a,v.b,v.c,v.d,sizeof(v));
Run Code Online (Sandbox Code Playgroud)

输出为:1 2 3 4 4

有人可以解释为什么这个结构4的大小?不应该是16吗?

c struct

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

如何最有效地在LinkedList中找到max和min元素?

比方说,我有一个Java链表,LinkedList<T> list = new LinkedList<T>();我需要最有效地找到最大/最小元素,我该怎么办呢?

如何使用Collections.max()函数从链表中查找max元素?这个函数的时间复杂度是多少?

java data-structures

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

不为null终止C样式字符串

给一个字符串,比方说,

char *str = "Hello,StackOverflow!"
char newStr[30];
int l = strlen(str);
for(int i =0 ; i<l ; i ++ )
   newStr[i] = str[i];
printf("%s" , newStr);
Run Code Online (Sandbox Code Playgroud)

现在,我们知道c字符串的最后一个字符必须是'\0',因为在这里我们没有明确地做同样的事情(在字符串newStr的最后一个索引处存储'\ 0'),这个程序应该崩溃,因为printf不会找到字符串的结尾.

但是我注意到它有时很好用,有时它不是.可能是什么问题呢 ?它几乎每次都在工作.是不应该崩溃或给出一些运行时错误?

在C++中它也是同样的情况吗?

c string c-strings

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

合并排序,无需额外空间或就地

可能重复:
如何使用合并排序算法进行就地排序?

通常我们使用额外的数组来使用合并排序对其进行排序,是否可以在不使用额外空间的情况下执行此操作?

如果可以,那么合并排序会比快速排序更好吗?

language-agnostic sorting algorithm

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

为什么这个陈述会出错?

编译器在此语句中给出错误. i>=3?b=10:b=5;

error: lvalue required as left operand of assignment
Run Code Online (Sandbox Code Playgroud)

无法弄清楚原因.正在使用的编译器是GCC.

c

0
推荐指数
1
解决办法
94
查看次数

浮点比较 C 的差异

float a = 0.7;
if(a<0.7)
  printf("true");
else
  printf("false");
Run Code Online (Sandbox Code Playgroud)

OUTPUT : true

现在,如果我将 a 的值更改为 1.7,那么

float a = 1.7;
if(a<1.7)
  printf("true");
else
  printf("false");
Run Code Online (Sandbox Code Playgroud)

OUTPUT : false

由于 0.7 被视为 double (HIGH PRECISION) 而 a 是浮点数 (LESS PRECISION),因此 a < 0.7 ,在第二种情况下它应该再次相同,因此它也应该打印 true。为什么这里的输出不同?

PS:我已经看过这个链接了。

c floating-point

0
推荐指数
1
解决办法
181
查看次数

为什么这个函数返回垃圾值

我正在编写一个程序并面临这个问题,以下函数用于返回垃圾值:

int* foo(int temp){
   int x = temp;
   return &x;
}
Run Code Online (Sandbox Code Playgroud)

当我修改它时,它工作正常:

int* foo(int *temp){
    int *x = temp;
    return x
}
Run Code Online (Sandbox Code Playgroud)

第一个版本出了什么问题?

c pointers function

0
推荐指数
1
解决办法
2077
查看次数

使用if(...)时,为什么这被认为是一个很好的编程习惯?

可能重复:
如何检查等于?(0 == i)或(i == 0)
i == 0和0 == i之间有区别吗?

我见过很多次人们使用if(condition)as if(0==x)而不是if(x==0).它被认为是一种很好的做法,但有人可以解释为什么这样做?它有什么不同?相反,它在我看来降低了可读性.

c c++ programming-languages

0
推荐指数
1
解决办法
219
查看次数