这是我第一次comp sci作业的一部分,我们正在写一个C程序,用来计算几个方程。以下是给出不可靠结果的代码:
// 1. Newton’s Second Law of Motion
printf("Newton's Second Law of Motion \nPlease enter mass and acceleration as decimal-point values separated by a comma (ex. 150.0,5.5): ");
scanf("%lf, %lf", &mass, &accel);
printf("Newton’s Second Law of Motion: force = mass * acceleration = %lf * %lf = %lf\n\n\n", mass, accel, mass*accel);当程序运行时,第一个printf显示正常,但第二个显示“Newton?s”而不是"Newton's“。
发布于 2012-01-25 06:57:59
你在使用UNICODE吗?
似乎在撇号上有一个区别:Newton’s和Newton's。你是从什么地方复制粘贴过来的吗?
发布于 2012-01-25 07:08:13
值为0x92的单字节字符’将根据当前有效的代码页在不同的系统上以不同的方式显示。
Code page 437 (在美国很常见)显示此值的Æ字符。
其他代码页,如codepage 1252 (西欧),显示’。
发布于 2012-01-25 07:08:35
有两个不同的字符用于撇号。第一个'是ASCII字符集的一部分,ASCII字符集是所有现代字符集的基础,并且在所有字符集中都是相同的。第二个’是一个扩展字符,它不是基本字符的一部分,根据字符集或代码页的不同,它会受到不同的解释。在Windows-1252编码中,字符Æ位于位置0x00c6。
https://stackoverflow.com/questions/8995507
复制相似问题