为了账号安全,请及时绑定邮箱和手机立即绑定

这样得程序能运行嘛?

#include<stdio.h>
int main()
{
   int a=5;
   int b=6;
   c=a-b;
   printf("c=%d\n",a-b>0?'0';'1');
   return=0;
   }


正在回答

2 回答

不可运行,主要原因:语法错误。

#include<stdio.h>
int main()
{   
    int a=5;
    int b=6;
    c=a-b;  // 此处c未定义
     //正确写法: int c=a-b;
     
    printf("c=%d\n",a-b>0?'0';'1');  // 三目运算符使用错误
    /* 正确写法:printf("c=%d\n",a-b>0?'0':'1');
    * 此处大于0时会打印0的ASCII编码,小于则打印1的ASCII编码
    *
    * 或:printf("c=%c\n",a-b>0?'0':'1');
    * 此处大于0时会打印字符0,小于则打印字符1
    *
    * 抑或:printf("c=%d\n",a-b>0?0:1);
    * 此处大于0时会打印整型0,小于则打印整型1
    */
    
    return=0; // 应为 return 0;
}


0 回复 有任何疑惑可以回复我~

不行的。

  1. 变量c没有定义;

  2. 第7行,%是转义符,也就是和%一起出现的后面的内容会转义后输出,%d表示按整型输出后面给出的变量的值,所以后面双引号外面的第一个变量应该是整型的,并且%d与后面的整型变量应该一一对应,有几个%d就应该有几个整型变量;

  3. 第7行,双引号后面的变量之间,用逗号隔开;

  4. return可加可不加,规范的程序应该加上,表示程序的末尾,但是你定义的main函数是int类型的,返回值应该也是整型的,所以应该删除“=”写为“return 0”。

0 回复 有任何疑惑可以回复我~
#1

SheepShake

第三点有点问题,题主的意思据我猜测应该是想使用三目运算符
2020-06-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

这样得程序能运行嘛?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信