【发布时间】:2014-02-26 02:13:35
【问题描述】:
我正在用C编写一个程序,其中一个要求是用户输入一个数字作为字符串值,然后程序必须将其转换为浮点格式,然后对该值执行各种操作。我似乎无法弄清楚如何简单地将输入字符串转换为数字。我将如何编写第一块这样的代码?我知道有类似的帖子,但它们没有帮助。我需要相当简单地做到这一点,而且我不想#include 除了...
#include <stdio.h>
int main(int argc,char* argv[]) {
/*having issues with this in particular...*/
int number;
int newNumber;
int i;
printf("Enter a number in decimal...");
scanf("%d",&number);
/* */
printf("%d in binary is: ",number);
for(i = 31;i >= 0;i--) {
newNumber = (number>>i);
if(newNumber & 1) {
printf("1");
}
else {
printf("0");
}
}
return 0;
}
谢谢!
【问题讨论】:
-
代码和问题没有关系!!!。
-
您遇到了什么问题,您已经有
scanf("%d"…)可以将输入字符串转换为数字? -
您的代码似乎“工作” - 因为它读取输入并产生输出。您可以考虑在
printf语句的末尾添加\n。到底什么不适合你?考虑使用8*sizeof(int)-1而不是31。您不会提前知道系统上的 int 有多大。 -
根据您到目前为止收到的答案,在我看来,您可能需要更清楚地解释您的“问题”。在上面的代码中究竟是什么不适合你? “有问题”有点模糊。也许您可以编辑您的问题:“当我输入 xxx 时,我想要 yyy 而不是 zzz”。
-
我的意思是我需要用户的输入是“字符串”类型,然后我需要将其转换为“浮点”类型。因此,例如“int number”将变为“char[100] number”。
标签: c string floating-point