为什么C中的while循环会突然终止

为什么C中的while循环会突然终止

This question already has answers here:
How to do scanf for single char in C [duplicate]
                                
                                    (11个答案)
                                
                        
                                3年前关闭。
            
                    
只是测试一些代码;在我输入“ n”之前,以下代码应该运行。但是它在一轮后就停止了。谁能解释一下,并帮助我实现我想要的?

#include <stdio.h>
int main ()
{
  char another = 'y';
  int num;

  while ( another == 'y' )
    {
        printf ("Enter an number ");
        scanf ("%d", &num);
        printf ("square of %d is %d", num, num * num);
        printf ("\nWant to enter another number y/n\n");
        scanf ("%c", &another);

    }

}


谢谢。

我真的很感谢每个人的评论。我确实在网上搜索了GDB,并在以后使用了它。我不得不说,这使发现问题变得容易得多。
非常感谢。

最佳答案

采用

scanf (" %c", &another);
       ^^^^^


另外最好写

printf ("square of %d is %lld", num, ( long long int )num * num);
                         ^^^^        ^^^^^^^^^^^^^^^^^^^^

关于c - 为什么C中的while循环会突然终止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36012829/

10-10 20:56