如果这个问题很幼稚,请原谅。考虑以下程序:
#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)。它们对程序的其余部分没有影响,那么为什么它们首先被认为是有效的语句?编译器会简单地忽略它们吗?允许这样的陈述有什么好处吗?
在 PostgreSQL 10 中,我正在创建一个包含数字列的表。我知道此列中的值必须精确,但我不确定最终值的确切大小是多少。
value NUMERIC
Run Code Online (Sandbox Code Playgroud)
与
value NUMERIC(20, 2)
Run Code Online (Sandbox Code Playgroud)
与指定任意大的精度相比,不指定精度有何优点或缺点?
我正在尝试编辑一个给定的字符串,最后通过使用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()吗?
第一个问题,如果不符合标准,请道歉.