C语言要求在printf之前加分号是为什么?

#include <stdio.h>
int main(void)
{
    int i, j;
    scanf_s("%d , %d", &i, &j);
    if (i == j)
        printf("i 等于 j\n");
    else if (i > j)
        printf("i 大于 j\n");
    else (i < j)
        printf("i 小于 j\n");
    getchar();
    getchar();
    getchar();

    return 0; 

}

我是用的VS2017 黑框中不会出现 press any key to.... 请问怎么让它出现

系统提示 要在第三个 printf 前边加分号 请问是为什么

不管输入什么数值 最后输出结果都是i 大于 j 为啥啊?

阅读 4.3k
4 个回答

你那一行else后面还跟了个(i < j),要么删掉要么中间加个if

新手上路,请多包涵

问题1:

    printf("Press Any Key to Continue\n");

    getchar();
    getchar();
    getchar();
    getchar();

问题2:else不能直接跟一个括号条件
问题3:编译错误导致你用的上一次执行的

clipboard.png
把圈圈里面的去掉即可,else后面是不能跟条件的,else表示的是没有满足上面条件,就执行else里面的,如果要跟条件就用else if

else 后不加判段条件
getchar();
只能输入单个字符,而且你没有为它分配内存空间;
你没加输出条件;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进