我是C初学者,我正在制作打字练习程序进行练习。
在第42行中,printf不起作用。我要打印rand_n。
我认为这可能是数组问题,但我无法修复此代码。
你能帮助我吗?
谢谢,祝你有美好的一天!

1 #include <stdio.h>
2 #include <time.h>
3 #include <string.h>
4 #include "getch.h"
5
6 int main()
7 {
8     char se[5][6][100]={{"AND THEN THERE WERE NONE", ....
27     .....    ," Young Lord L had surrendered to Cupid at last"}};
28
29
30     char mysent;
31     int accu=0,pro=0;
32     int rand_n;
33     double typing=0.0;
34     srand(time(NULL));
35     rand_n=rand()%1000;
36     time_t start=0,end=0;
37     typing = accu*60.00/(end-start);
38
39
40     printf(">>  typing practice <<\n");
41     printf("accuracy : %d%%  typing_pre_sec : %d\n",accu,typing);
42     printf("%s\n",se[rand_n]);

最佳答案

se是3D字符数组。或二维字符串数组。您只索引一次,所以se[rand_n]实际上是一个字符串数组。您可能首先不希望它是3D阵列。从声明中删除[5]

另外,rand_n可以在0到999之间的任何位置。您可能想要执行rand() % 5或其他操作。

关于c - C-如何在此代码中修复printf?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30577899/

10-12 21:51