黑马程序员技术交流社区

标题: 这道题遇到了死循环 [打印本页]

作者: Akrios    时间: 2015-4-16 21:57
标题: 这道题遇到了死循环
输入一个数,输出一个数,直到输入0,退出。
我自己写的  只要输入一个数字 就无限循环了

作者: Akrios    时间: 2015-4-16 22:01
有人知道吗?
作者: sunyang    时间: 2015-4-16 22:03
贴代码,不贴代码怎么帮你?
作者: Akrios    时间: 2015-4-16 22:08
sunyang 发表于 2015-4-16 22:03
贴代码,不贴代码怎么帮你?

#include<stdio.h>
int main()
{int a=0;
printf(" input number")
scanf("%d",a)

   int a=0;
   if(a!=0)
{
printf("%d\n",a);
}
else
{
break;
}

return 0;
}
作者: Akrios    时间: 2015-4-16 22:09
临时写的
作者: Akrios    时间: 2015-4-16 22:13
临时写的
作者: 董zhx    时间: 2015-4-16 22:21
int a = 0, if (a !=0){}.这句话永远成立
作者: x331275955    时间: 2015-4-16 22:38
  1. #include <stdio.h>
  2. int main()
  3. {
  4.    
  5.     for(int num = 1;num != 0;)
  6.     {
  7.         
  8.         printf("请输入一个数字\n");
  9.         
  10.         scanf("%d",&num);
  11.         if(num != 0)
  12.         {
  13.             printf("%d",num);
  14.         }
  15.         
  16.     }
  17.    
  18.     return 0;
  19. }
复制代码


作者: x331275955    时间: 2015-4-16 22:42
不好意思,输出忘换行了。。
作者: 举举手    时间: 2015-4-16 22:42
怎么定义了两次a
作者: Mike001    时间: 2015-4-17 00:30
首先,你的scanf("%d", a),中应该是&a,然后,你在把输入的值传给a后,又立即把a赋值为0所以输入的数值不起作用,进入死循环,明白不?亲
作者: Akrios    时间: 2015-4-17 18:14
Mike001 发表于 2015-4-17 00:30
首先,你的scanf("%d", a),中应该是&a,然后,你在把输入的值传给a后,又立即把a赋值为0所以输入的数值不起 ...

解决了 谢谢
作者: chensc    时间: 2015-4-17 18:54
学习学习!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2