$a = '35';
$b = '-34.99';
echo ($a + $b);
Run Code Online (Sandbox Code Playgroud)
结果在0.009999999999998
怎么了?我想知道为什么我的程序会报告奇怪的结果.
为什么PHP没有返回预期的0.01?
在终止字符串时,在我看来逻辑上char c=0
等同于char c='\0'
,因为"null"(ASCII 0)字节是0
,但通常人们倾向于这样做'\0'
.这纯粹是出于偏好还是应该是一个更好的"实践"?
什么是首选?
编辑: K&R 说:"字符常量'\0'
表示值为零的字符,空字符.'\0'
经常编写而不是0
强调某些表达式的字符性质,但数值只是0
.
在任何地方我都看到"它实际上是相同的"或类似的东西......
来自GNU C编程教程:
GNU C库中还有另一个名为fgetc的函数.它在大多数方面与getc相同,除了getc通常作为宏函数实现并且高度优化,因此在大多数情况下是优选的.(在您从标准输入读取的情况下,getc与fgetc一样快,因为与计算机读取输入的速度相比,人类输入速度较慢,但是当您从不是由人工交互生成的流中读取时, fgetc可能更好.)
还有什么区别?我听说他们每个都有不同的实现(一个可以用作宏),但是,是什么让它们与标准C库(或规范)中的它们完全不同(或不同)?
我知道"textcolor();" 是用于C++,我已经看到了unix的方法......但是对于Windows也有办法吗?
#include <stdio.h>
int main()
{
printf("\ntest - C programming text color!");
printf("\n--------------------------------");
printf("\n\n\t\t-BREAK-\n\n");
textcolor(15);
printf("WHITE\n");
textcolor(0);
printf("BLACK\n");
textcolor(4);
printf("RED\n");
textcolor(1);
printf("BLUE\n");
textcolor(2);
printf("GREEN\n");
textcolor(5);
printf("MAGENTA\n");
textcolor(14);
printf("YELLOW\n");
textcolor(3);
printf("CYAN\n");
textcolor(7);
printf("LIGHT GRAY\n");
}
Run Code Online (Sandbox Code Playgroud)
我在网上找不到任何东西......让我们希望堆栈溢出的好人可以提供帮助:D
C请,而不是C++
如何将内存zipfile写入文件?
# Create in memory zip and add files
zf = zipfile.ZipFile(StringIO.StringIO(), mode='w',compression=zipfile.ZIP_DEFLATED)
zf.writestr('file1.txt', "hi")
zf.writestr('file2.txt', "hi")
# Need to write it out
f = file("C:/path/my_zip.zip", "w")
f.write(zf) # what to do here? Also tried f.write(zf.read())
f.close()
zf.close()
Run Code Online (Sandbox Code Playgroud) DITA中有两种"通用"类型的元数据标签,数据元素和关键字元素.当然也有其他的,但显然应该很快就会被弃用,无论如何,这个名字暗示它是最后的手段.
因此,关键字看起来与Web应用程序中的标签非常相似,即通常用于"folksonomies"的内容.但是数据和关键字之间的确切区别是什么?何时应该使用哪个?
iAd框架正在做我的坚果.再次!
请有人帮助我走向理智.
昨天正在模拟器上工作,今天不是.经过一个小时的肆虐,我实际上插入了我的大脑并记录错误(iirc这是在模拟器上)
错误域= ADErrorDomain
代码= 3"操作无法完成.广告资源不可用"
UserInfo = 0x5a5bb50 {ADInternalErrorCode = 3,
NSLocalizedFailureReason =广告资源不可用}
然后我尝试重新启动.
在模拟器上:
错误域= ADErrorDomain
代码= 4"操作无法完成.应用程序有iAd网络配置错误"
UserInfo = 0x5839510 {ADInternalErrorCode = 4,
NSLocalizedFailureReason =应用程序有iAd网络配置错误}
现在尝试使用该设备:
Err Domain = ADErrorDomain
Code = 1"无法完成操作.(ADErrorDomain错误1.)"
UserInfo = 0x19c8c0 {}
最后我在谷歌找到了一些东西:
http://useyourloaf.com/blog/2010/11/28/ad-inventory-unavailable-with-ios-42.html
这家伙说它似乎是> = iOS 4.2的问题.
所以我再次尝试使用iOS 4.0 iPhone模拟器
是的,我得到另一个错误代码.
错误域= ADErrorDomain代码= 0"无效数据."
显然,
出于进入C的史前史的原因,可以在同一范围内声明具有相同名称的结构和非结构.- (Bjarne Stroustrup - C++编程语言.第4版)
例如:
struct Ambig {};
// the struct must be referred to with the prefix struct
void Ambig(struct Ambig* buf) {}
Run Code Online (Sandbox Code Playgroud)
我只是好奇最初的原因是什么?如果没有理解,它似乎是一个糟糕的语言设计的例子,它会引起歧义并且令人困惑.
我知道:echo "blah blah" >file.txt
有效.这echo "" >file.txt
也有效.
但是,如果我想"
在文件中只回显一个(双引号)该怎么办?
echo ">file.txt
不起作用,是否可以在一行命令中执行?