A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 skywan 于 2015-7-22 12:01 编辑

程序运行不出来,是在vs2013平台上运行的,是软件的问题么,请教大神看看。
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. int main(int argc,const char *argv)
  5. {
  6.         //1定义变量,保存计算机出的拳,保存用户输入的拳
  7.         int computer=-1,player=-1;
  8.         //先让计算机出拳,随机出的,0 剪刀 1 石头 2布
  9.         //产生随机数的方法,加上头文件#include<stdlib.h>
  10.         computer= arc4random_uniform(3);//3个随机数0,1,2
  11.         printf("%d",computer);
  12.         //2提示让玩家出拳
  13.         printf("请出拳:0 剪刀 1 石头 2布");
  14.         scanf("%d", &player);
  15.         //校验
  16.         if (player<0 || player>2){
  17.                 printf("请按套路出牌\n");
  18.                 return 0;
  19.         }
  20.         //3开始比较判断
  21.         //先判断玩家赢的情况
  22.         if ((player == 0 && computer == 2) ||
  23.                 (player == 1 && computer == 0) ||
  24.                 (player == 2 && computer == 1)){
  25.                 printf("恭喜您赢了\n");
  26.         }
  27.         else if ((player == 0 && computer == 2) ||
  28.                 (player == 1 && computer == 0) ||
  29.                 (player == 2 && computer == 1))
  30.         {
  31.                 printf("很遗憾您输了\n");
  32.         }
  33.         else
  34.         {
  35.                 printf("平局\n");
  36.         }
  37.         return 0;
  38. }
复制代码

点评

你这个if的条件和else if里的条件都一样,怎么判断输赢?  发表于 2015-7-20 18:00

13 个回复

倒序浏览
你把人家主函数里的参数改了,当然不行,加个中括号吧~
int main(int argc,const char *argv[])

点评

加上也是不管用的,还是出错,是不是软件的缘故  发表于 2015-7-20 15:48
回复 使用道具 举报
if条件和else  if条件判断怎么是一样的

点评

不好意思,粘错了,不过还是不行 //3开始比较判断 //先判断玩家赢的情况 if ((player == 0 && computer == 2) || (player == 1 && computer == 0) || (player == 2 && c...   发表于 2015-7-20 20:13
回复 使用道具 举报
被水淹死的鱼 发表于 2015-7-20 14:29
你把人家主函数里的参数改了,当然不行,加个中括号吧~
int main(int argc,const char *argv[]) ...

那就是软件的问题了,加上之后,我都能运行出来那个代码~
回复 使用道具 举报
我加了头文件#include<stdlib.h>,但是那个随机取值的函数调不出来:arc4random_uniform(3);是安装vs平台缺少东西么
回复 使用道具 举报
开始判断那一块,if和else if一样的
回复 使用道具 举报
skywan 发表于 2015-7-20 20:17
我加了头文件#include,但是那个随机取值的函数调不出来:arc4random_uniform(3);是安装vs平台缺少东西么 ...

这个随机函数的生成函数,貌似xcode才能有用,其他的编译器都不行。。
回复 使用道具 举报
Mal 中级黑马 2015-7-20 22:31:21
8#
把主函数里面的参数删掉,就可以运行了
回复 使用道具 举报
if和else if判断一模一样
回复 使用道具 举报
Mal 发表于 2015-7-20 22:31
把主函数里面的参数删掉,就可以运行了
  1. int argc,const char *argv[]
复制代码
删除掉也是不行,说是随机函数main函数已经引用了,在vs中无法解析这个函数吗
回复 使用道具 举报
if和else if中的判断条件有问题,可以先判断平局,再判断输赢,这样更简单
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马