小编A. *_* W.的帖子

为什么没有效果的语句在 C 中被认为是合法的?

如果这个问题很幼稚,请原谅。考虑以下程序:

#include <stdio.h>

int main() {
  int i = 1;
  i = i + 2;
  5;
  i;
  printf("i: %d\n", i);
}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,语句5;andi;似乎完全多余,但代码在默认情况下编译时没有警告或错误(但是,gccwarning: statement with no effect [-Wunused-value]在运行时确实会抛出警告-Wall)。它们对程序的其余部分没有影响,那么为什么它们首先被认为是有效的语句?编译器会简单地忽略它们吗?允许这样的陈述有什么好处吗?

c

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

PostgreSQL:不指定数字精度的优点和缺点

在 PostgreSQL 10 中,我正在创建一个包含数字列的表。我知道此列中的值必须精确,但我不确定最终值的确切大小是多少。

value NUMERIC
Run Code Online (Sandbox Code Playgroud)

value NUMERIC(20, 2)
Run Code Online (Sandbox Code Playgroud)

与指定任意大的精度相比,不指定精度有何优点或缺点?

sql postgresql database-design

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

为什么lastIndexOf()工作而search()不工作?

我正在尝试编辑一个给定的字符串,最后通过使用slice()和search()的组合来删除文件扩展名.但是,使用search()时,var vNamePrepared将变为空.

function site_change() {
  var vDocGrabber = "indexmobile.html",
      vNamePrepared = vDocGrabber.slice(0, vDocGrabber.search("."));
  /*transform vNamePrepared in some way*/
  document.getElementById("demo").innerHTML = vNamePrepared + ".php";}
Run Code Online (Sandbox Code Playgroud)

或者,用lastIndexOf()替换search()的确切代码产生了所需的结果.

function site_change() {    
  var vDocGrabber = "indexmobile.html",
      vNamePrepared = vDocGrabber.slice(0, vDocGrabber.lastIndexOf("."));
  /*transform vNamePrepared in some way*/
  document.getElementById("demo").innerHTML = vNamePrepared + ".php";}

--> indexmobile.php
Run Code Online (Sandbox Code Playgroud)

为什么搜索()在这里不起作用?它不会将整数期间的索引作为整数返回到slice()吗?

第一个问题,如果不符合标准,请道歉.

javascript

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

标签 统计

c ×1

database-design ×1

javascript ×1

postgresql ×1

sql ×1