Я новичок в C, и я делаю некоторые базовые вещи.Я делаю простой тест и по какой-то причине он не работает, когда я пытаюсь напечатать варианты вопроса.
main.c
#include <stdio.h>
#include "app.h"
int main(void){
startQuiz();
return 0;
}
app.h
#include <stdio.h>
#include <stdlib.h>
int Question(char text[100], char options[4][40], int rightAns);
void startQuiz(void){
char q1[4][40] = {
{'"', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '"'},
{'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'},
{'p', 'r', 'i', 'n', 't', '(', '\'', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '\'', ')'},
{'\'', 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '\''}
};
char q2[4][40] = {
{'g', 'e', 't', '_', 't', 'y', 'p', 'e', '(', 'x', ')'},
{'p', 'r', 'i', 'n', 't', '(', 'x', ')'},
{'x', '.', 't', 'y', 'p', 'e'},
{'t', 'y', 'p', 'e', '(', 'x', ')'}
};
char q3[4][40] = {
{'x'},
{'h', 'e', 'l', 'l', 'o', '_', 'w', 'o', 'r', 'l', 'd'},
{'e', 'x', 'e', 'c'},
{'c', 'o', 'm', 'm', 'a', 'n', 'd'}
};
int Q1 = Question("what is the output of `print('hello world')`", q1, 2);
int Q2 = Question("how to get a type of a variable?", q2, 4);
int Q3 = Question("choose a not valid name for argument in python", q3, 3);
printf("you got: %d / 3\n", Q1 +Q2 +Q3);
};
int Question(char text[100], char options[4][40], int rightAns){
int ans;
printf("\n%s.\n", text);
for(int i; i<4; i++){
printf("%d. %s\n", i+1, options[i]);
// I dont want to add to i I just want to print i+1
}printf(">>> ");
scanf("%d", &ans);
if(ans==rightAns){
return 1;
}return 0;
};
Предполагается, что это будет тест, и я получу вывод:
Он не печатает параметры, которые я ему дал: