记录近段时间所遇到的问题
一.输入字符串时scanf和gets比较
两者都是从缓冲区读入一个字符串。
同时需要注意:
1,scanf遇到空格回车等就停止输入
gets遇到空格不会停止。
2,gets()函数会将最后敲的换行符从缓冲区扔掉,
即缓存区不会遗留一个换行符。
但scanf("%s")会遗留换行符。
3,gets输入类型为char *str;
即输入一个char型的字符串。
如果对int类型数组gets输入会warning。
二.%g
1.把输出的值按照%e或者%f类型中输出长度较小的方式输出,仅当数值的指数小于-4或大于等于精度参数(默认值为6)时按%e(E)输出(否则按%f输出)。
2.(在选择好输出格式之后)尾部的零会被缩减。
3.(在选择好输出格式之后且0被缩减后)当小数点后面有一个或多个数字时才显示小数点。
三.浮点数误差
delta<0.000001&&delta>0.000001
或
整形delta abs(delta)<0.000001
浮点数delta fabs(delta)<0.000001
四.字符串转整形函数