[此贴子已经被作者于2005-2-3 16:48:58编辑过]
[此贴子已经被作者于2005-2-3 16:48:58编辑过]
[此贴子已经被作者于2005-2-3 16:31:33编辑过]
[此贴子已经被作者于2005-2-3 12:41:05编辑过]
问题多多地:
问题1:[浪费内存] char string1[200][15],da[15],whit[15]=" "; 这一句:char whit[15]=" "; whit只是一个串空格,我想没有必要给他分配15个字节,太浪费宝贵的内存了。 char whit[]=" ";就可以了。
问题2:[定义变量时候思路混乱] void check(char *s); /*检查输入是否正确*/ 既然你已经把字符串da定义为全局变量了,那就没有必要在定义check()的时候定义参数了,因为check()可以随时访问da
问题3:[不检查字符串da的大小] 在getcheck()函数中有这么一段: else{ da[len]=c; 作用是把用户的击中的字符加入到da中,但是da是一个大小固定为15的数组,所以一旦用户输入的字符大于15后,将会发生内存溢出!
问题4:[da数组没有被及时清空] 每次check完之后请清空一次da数组.
问题5:[过长的代码行] cputs("00000000000000000000000000000000000000000000000000000000000000000000000000000000");
很明显,谁都讨厌看见这样长的代码,其实可以用循环来解决这个问题 for(t=0;t<80;t++) cprintf("0"); t=0;
问题6: [随即数问题] data[top].x=random(50)%50+5; 我不明白你是怎么想的,但是我觉得data[top].x=random(65); 这样做会更好。
问题7:[整个程序不美观] 一个好的程序要求的不仅仅是逻辑上的完整,更加要求结构上的完美。这个程序说真的,长得比KNOCKER还XX,这样会让那些有心去看代码的人望而却步!
尚未解决的问题: 1.[字符乱码问题] 2.[如果输入了掉落字符串的上面一个字符串的时候,有时会出现两个一起消失]
[此贴子已经被作者于2005-2-3 16:51:17编辑过]