首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >printf撇号在C++中替换为?

printf撇号在C++中替换为?
EN

Stack Overflow用户
提问于 2012-01-25 06:56:10
回答 4查看 2.1K关注 0票数 2

这是我第一次comp sci作业的一部分,我们正在写一个C程序,用来计算几个方程。以下是给出不可靠结果的代码:

代码语言:javascript
运行
复制
// 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“。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-25 06:57:59

你在使用UNICODE吗?

似乎在撇号上有一个区别:Newton’sNewton's。你是从什么地方复制粘贴过来的吗?

票数 8
EN

Stack Overflow用户

发布于 2012-01-25 07:08:13

值为0x92的单字节字符将根据当前有效的代码页在不同的系统上以不同的方式显示。

Code page 437 (在美国很常见)显示此值的Æ字符。

其他代码页,如codepage 1252 (西欧),显示

票数 5
EN

Stack Overflow用户

发布于 2012-01-25 07:08:35

有两个不同的字符用于撇号。第一个'是ASCII字符集的一部分,ASCII字符集是所有现代字符集的基础,并且在所有字符集中都是相同的。第二个是一个扩展字符,它不是基本字符的一部分,根据字符集或代码页的不同,它会受到不同的解释。在Windows-1252编码中,字符Æ位于位置0x00c6。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8995507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档