尝试——交互式程序编写

时间:2021-10-04 09:17:52
    关于交互式程序,简单明了的说,就是允许与用户进行交互的程序,或说允许用户进行输入操作。这种程序的好处在于对于一些变量可以依据用户需要进行改变,而不用重新编写一个程序或对程序进行修改,变得更加方便。
    而实际上交互程序并不难实现。在通过对书本的研究,发现其实交互式程序不过就是一个scanf()的运用罢了,这是一个输入函数,与之相对的便是输出函数,就是我们都熟悉的printf()。实践才是检验真理的唯一标准,我试着进行了编写操作。当然我尝试的是最简单的程序啦,只是最简单的获得输入的一个数字,并将其乘以2,然后输出这个值。选择简单的程序是有原因的,一来我本就不是高手,也编不出高级程序,二来编写简单程序也便于发现错误和修改。当然程序是成功运行了,不过我当然不会只满足这个程序的成功运行,我开始编写一个程序,能获得用户输入的字符,而不仅仅是数字。
    于是我开始了编写,当然我因为学习了其他一些知识,有如明示变量,以及其他一些关于数据的知识,所以我尝试将它们用进去,例如我运用了define预处理器明示了一个PI变量,且它的值为3.14159。接着我采用了scanf函数去获得用户输入的字符,因为事先有过学习,我也知道该用%s来获得该输入,并将其赋予了NAME。在输出“请问你的名字是_____”之后便读取输入,再之后便输出获取的名字,并输出“你好!请告诉我你的蛋糕的半径______”。但是在运行程序是我就发现出了错误,当我输入一串英文名字时,输出的名字却只有那一串英文名字的首字母。这并不是我想要的效果,我开始检查错误,然而一无所获,此时我才算真正认识到程序编写的困难之处,那便是对于错误的发现,这是很困难的,因为有可能错误往往只是在一个细节,极难发现,这次也不例外。
    因为在此前学习的是数据的问题,我也清楚字符的声明用的是关键字char,然而我也清楚的记得输出是所用的是%c标志。所以检查一遍仍无所获,但是由于出现问题的地方是在输出这里,所以我便锁定这里的代码进行检查。庆幸的是,虽然我没检查出结果,但我进行了尝试,将输出的%c换成%s进行编译运行,出人意料的,程序出现了我想要的效果。
    至于为什么会是c与s的一字之差导致出现错误,我在查询之后才知道原来c所打印出来的只是一个字符,一个字母或符号;而s打印出来的是一个字符串,一个单词或或一串字母,是一个组。所以才导致了出现意料之外的结果。
    总而言之,打代码还是需要细心与耐心的,不然我也没法发现这一个个错误,并一一改正了。