scanf的烦恼

scanf的烦恼

    今天连着2次用错scanf函数,这大概也是历史上第N+1次错误了,一直使用cin来输入数据,近来使用scanf的时候老出错误,因为它要去参数为一个地址,而编译器对于整数和地址的处理是类似的,往往不能指出错误。而当它运行时是不发生错误的,但会得到不正确的结果。。一步步的检查,并不能发现错误,只好打log,替换掉相应的块,然后逐步恢复原来的编码,最后才发现是sscanf的使用错误。这种错误实际上是有征兆的,因为程序每次运行时后使用的都是一个随机数据,而不是你所输入的数据。但编译的时候并不能发现错误。和往常的错误一样,编写一个程序可能只要半小时几分钟,而查找一个错误却花了我好几个小时的时间。这是一个不小的教训,也提示我在编译的时候-Wall选项的必要性。为了使我以后不会忘记使用这个选项,alias一下它吧,打开.profile文件,加入一行
alias gcc = ' gcc -Wall '
alias g
++= ' g++ -Wall '
这样以后每次使用gcc/g++的时候它就自动启用-Wall选项了

你可能感兴趣的:(scanf的烦恼)