我是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/