第一篇:数值转换

题目】编写一程序,从键盘输入一个三位正整数,然后反向输出对应的数,如果输入的数不是三位正整数,则输出-1。
【输入形式】从键盘输入三位正整数
【输出形式】输出交换后的正整数数值
【输入样例】633
【输出样例】336
【样例说明】从键盘输入的正整数值是633,将该数的个位和百位互换,所得结果为336,如果输入的正整数是300,则输出为3.

First
之前没有注意到如果输入负整数要打出-1,就写出了如下代码
第一篇:数值转换

Second
之后写出如下代码:
第一篇:数值转换
但是写完后发现,如果自己输入的是负数虽然会打出-1,但是会报错。

Third
经过多次检查和自己查,发现了错误,最终结果如下:
第一篇:数值转换

End

问题根源:编译器问题——C89和C99

C89规定,在任何执行语句之前,在块的开头声明所有局部变量。

在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。

变量申明放在前面之后就没有报错了。