数值后的错误后缀

#include <stdio.h>
int main()
{
int x, y;
printf("input\n");
scanf_s("%d\n", &x);
if (x < 1) y = x;
if (1 < x < 10) y = 2x;
if (x >= 10 ) y = 3;
printf("%d", y);
system("pause");
}
请问是什么情况????

Status Push(SqStack &S,SElemType e)//入栈
{
if(S.top-S.base>=S.stacksize)
{
S.base=(SElemType *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));
if(!S.base)exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}

感觉没错啊,就是编译不过去。请高手帮忙

1>f:\study\c++\shiyan2\shiyan2\1.cpp(43) : error C2059: 语法错误 : “数字上的错误后缀”
1>f:\study\c++\shiyan2\shiyan2\1.cpp(43) : error C2146: 语法错误 : 缺少“)”(在标识符“O”的前面)
1>f:\study\c++\shiyan2\shiyan2\1.cpp(43) : error C2059: 语法错误 : “)”
1>f:\study\c++\shiyan2\shiyan2\1.cpp(46) : error C2059: 语法错误 : “数字上的错误后缀”
1>f:\study\c++\shiyan2\shiyan2\1.cpp(46) : error C2146: 语法错误 : 缺少“;”(在标识符“O”的前面)
1>f:\study\c++\shiyan2\shiyan2\1.cpp(46) : error C2065: “O”: 未声明的标识符对于数值的后缀,应该是大写 还是 小写。还是说两者都一样的意思?
例子一:摘自《JAVA核心技术》的一段话
float类型的数值后面有一个后缀F(例如,3.402F)。没有后缀F的浮点数值(如3.402)默认为double类型。当然,也可以在浮点数值后面添加后缀D(例如,3.402D)

例子二:摘自一篇解释自动装箱和拆箱的博文的一段话
也可以使用更一般化的java.lang.Number类来自动装箱。例如:

Number number = 3.14f;
3.14f会先被自动装箱为Float,然后指定给number。

我是不明白,例子二f 是否和 例子一的F 用意一样,是否为都数值加一个后缀而让表明为float类型的数值。但为什么大小写不同? 是可以通用呢?还是我理解错了?
  excel表格的数字因格式错误无法计算的解决方法:

  格式错误解决步骤1:将要转换的数据列选定,复制。

excel表格的数字因格式错误无法计算的解决方法
  格式错误解决步骤2:新建一个空白Word文档,将从Excel中复制的数据列粘贴到Word文档的空白处。

excel表格的数字因格式错误无法计算的解决方法
  格式错误解决步骤3:这样,单元格中的一些非数字字符,如:空格、逗号等就显示出来了。就是因为他们的存在,才导致单元格无法参与计算。现在就好了,用Word的查找/替换功能,批量将其全部去掉(替换为空)。

excel表格的数字因格式错误无法计算的解决方法
  格式错误解决步骤4:最后将只剩下数字,小数点的数据列复制粘贴回原Excel表格,再调整一下格式,看!是不是数据变回来了,可以编辑公式,自动求和等,能够进行所有的计算了。

excel表格的数字因格式错误无法计算的解决方法
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-10
修改后的代码:
#include <stdio.h>
int main()
{
int x, y;
printf("input\n");
scanf_s("%d", &x);/*去掉\n*/
if (x < 1)
y = x;
if (1 < x && x < 10)/*改一下*/
y = 2 * x;/*加上*号*/
if (x >= 10)
y = 3;
printf("%d", y);
system("pause");
}追问

出现这个Run-Time Check Failure #3 - The variable 'y' is being used without being initialized
还有就是我的这段代码怎么得不出y的值.

出现这个Run-Time Check Failure #3 - The variable 'y' is being used without being initialized
还有就是我的这段代码怎么得不出y的值.

追答

编程上的写法跟数学上不一样,数学上表达式可以简写,编程上简写会造成歧义。要注意区别。

改为这样:
#include
int main()
{
int x = 0, y = 0;
printf("input\n");
scanf_s("%d", &x);/*去掉\n*/
if (x = 10)
y = 3;
printf("%d", y);
system("pause");
}

本回答被网友采纳
相似回答