bonjour,

Je m'explique:
Mon but est d'implémenter un script en C de telle manière qu'à chaque appui de la touche I,j'incrémente la variable globale k.Je n'y arrive pas !

En C#,en utilisant l'API de Unity,j'y arrive !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
 
public class essai : MonoBehaviour
{
    int k=0;
 
 
    // Start is called before the first frame update
    void Start()
    {
 
    }
 
    // Update is called once per frame
    void Update()
    {
      if(Input.GetKeyDown(KeyCode.I)
     {
        k++;
        print(k);
    }
 
 
 
 
 
 
}
Mon problème est que je n'arrive pas à en faire autant en C:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
#include <stdio.h>
#include <string.h>
 
int k=0;
 
void fonction(void)
{char c;
 
  printf("tapez la lettre i: ");
  scanf("%c",&c);
  if(c=='i')
  { k++;
    printf("%d",k);
 
  }
  else{
    printf("mauvaise saisie caractère");
  }
  }
 
int main(void) {
 
  fonction();
 
  return 0;
}
la raison est simple:
ce script C ne s'exécute qu'une seule fois et se termine dès que j'appui sur la touche I tandis que dans le srcipt C#,la fonction Update() fait qu'à chaque nouvelle frame,je peux à nouveau appuyer sur la touche I
Comment modifier le script C pour qu'à chaque fois(et non pas une seule fois) je puisse appuyer à nouveau sur la touche I?

merci de votre aide