Đoạn code ở dưới bị chạy infinite loop, tuy nhiên nếu sửa hàm "void hello()" vào hàm "main()" thì nó lại chạy.
Cho em hỏi lý do vì sao và cách sửa sao ạ?
Em xin cảm ơn!
C Code:
  1. #include <stdio.h>
  2.  
  3. void charSwap(char** a, char** b){
  4.     char *c = *a;
  5.          *a = *b;
  6.          *b = c;
  7. }
  8.  
  9. void hello(){
  10.     char **a,**b;
  11.     int i;
  12.     printf("A = ");
  13.     scanf("%c",&a);
  14.     getchar();
  15.     printf("B = ");
  16.     scanf("%c",&b);
  17.     getchar();
  18.     if(a>b) charSwap(&a,&b);
  19.     for (i=a;i<=b;i++)
  20.     {
  21.         printf("%c : %d , %X\n",i,i,i);
  22.     }
  23. }
  24. int main(){
  25.     hello();
  26.     return 0;
  27. }