今天下午比赛时候有道题用c++输入输出是超时的,所以准备换上c试试,发现几个小问题:
1、使用scanf("%c", &a)读取a(a是char类型),如果读取之前有换行符或者空格,那么a就会把之前的换行符或者空格读取到,解决方法就是这之前先getchar()一下。
2、而如果用scanf("%s", str)读取str(我发现str是char或者char[]都是可以的),不会读取前边的换行符或者空格。
3、其他数值类类型是没有这样的问题的。
4、二维char数组不能用scanf("%s", str[i][j]),可以用scanf("%s", str[i])或者scanf("%c",&str[i][j]),前者速度更快,现在想了想应该是数组名可以表示数组首地址的原因。(3/6/2014 补)