诗岑 2020-02-05 19:29 采纳率: 93%
浏览 247
已采纳

外部函数的if结构不起作用

如题,我想要根据输入的字符,用if结构对score进行累加
代码:

#include <stdio.h>/*包含头文件*/
extern int add();
extern result();
char option1, option2, option3, option4;
extern int score;
main() {
    char option1,option2,option3,option4;
    int add();
    printf("1.你会选择哪种仪式来告别一段旧恋情?\n");
    printf("A.开始一段旅行,迎接新的邂逅\n");
    printf("B.清理旧物,清空回忆\n");
    option1 = getchar();
    getchar();
    printf("%d\n", score);
    printf("2.突然有帅哥/美女来搭讪,你的反应?\n");
    printf("A.惊喜\n");
    printf("B.惊吓\n");
    option2 = getchar();
    getchar();
    printf("%d\n", score);
    printf("3.关于婚姻与爱情的态度?\n");
    printf("A.相爱了,结婚不就是个本么?\n");
    printf("B不行!结婚是终身大事,必须慎重\n");
    option3 = getchar();
    getchar();
    printf("%d\n", score);
    printf("4.你愿意做海王吗?\n");
    printf("A.坦然接受,渣一点也无妨\n");
    printf("B.果断拒绝,爱的太多是灾难\n");
    option4 = getchar();
    getchar();
    printf("%d\n", score);

    result();
    printf("%c\n", option1);
    printf("%c\n",  option2);
    printf("%c\n", option3);
    printf("%c\n", option4);
    printf("%d",score);


}
#include<stdio.h>
extern char option1, option2, option3, option4;
int score = 0;
int add() {


    if (option1 == 'a' || option1== 'A')score = score + 1;
    if (option2 == 'a' || option2 == 'A')score = score + 1;
    if (option3 == 'a' || option3 == 'A')score = score + 1;
    if (option4== 'a' || option4 == 'A')score = score + 1;
    return score;
}
#include<stdio.h>
extern int score;
extern int time;
result() {

    if (score == 4)printf("你对待感情的态度可谓是妥妥的浪啊。因为你的不羁放纵爱自由,你在青年时期烂桃花不断;而随着年岁渐长,人老珠黄的你,也只能哀叹风光不再了!\n");
    if (score == 3 )printf("你放浪形骸,但不排斥过平静的生活,因此,在经过渣男/渣女的洗礼后,你也找到了自己的真爱,最终桃花结果!\n");
    if (score == 2)printf("你在爱情方面比较中立,既能保持一个人的潇洒,也能享受两个人的甜蜜。你的桃花属于正常,将来很可能遇见对的人,然后相伴一生\n");
    if (score == 1)printf("你有些谨慎保守哦!如果把你的同龄人比作可乐,那你就是一壶苦茶,属于徒手撕桃花的存在,不过别担心,迟来的春天总是会来的,中年成熟的魅力会让你离桃花更近一步哦!\n");
    if (score == 0 )printf("你...您贵庚哪?看来你已经不适合浪漫的邂逅了,不仅青年没桃花,就连中年看见小情侣秀恩爱你都会觉得肉麻,仿佛对桃花过敏!看来,你还是适合相顾相知,细水长流的黄昏恋啊\n");
}

然而尽管全部输入a,score的值还是没有改变。

1.你会选择哪种仪式来告别一段旧恋情?
A.开始一段旅行,迎接新的邂逅
B.清理旧物,清空回忆
a
0
2.突然有帅哥/美女来搭讪,你的反应?
A.惊喜
B.惊吓
a
0
3.关于婚姻与爱情的态度?
A.相爱了,结婚不就是个本么?
B不行!结婚是终身大事,必须慎重
a
0
4.你愿意做海王吗?
A.坦然接受,渣一点也无妨
B.果断拒绝,爱的太多是灾难
a
0
你...您贵庚哪?看来你已经不适合浪漫的邂逅了,不仅青年没桃花,就连中年看见小情侣秀恩爱你都会觉得肉麻,仿佛对桃花过敏!看 来,你还是适合相顾相知,细水长流的黄昏恋啊
a
a
a
a
0
C:\Users\jyz_1\source\repos\Project1\Debug\demo.exe (进程 14256)已退出,代码为 0。

请问,这是为什么?

  • 写回答

1条回答 默认 最新

  • 超超不是草草 2020-02-19 16:09
    关注

    因为你根本没调用add()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 R语言卸载之后无法重装,显示电脑存在下载某些较大二进制文件行为,怎么办
  • ¥15 java 的protected权限 ,问题在注释里