标题:请求各位大神帮我看看这段c语言代码什么意思呀,新手上路!
只看楼主
ke20xx
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-22
结帖率:100%
已结贴  问题点数:20 回复次数:9 
请求各位大神帮我看看这段c语言代码什么意思呀,新手上路!
#include "stdafx.h"
#include <string.h>
int main (void)
{
int i = 0;
int s = 0;
for (i = 1; i <= 10; i++)
{
if (i == 6){
continue;
 }
s += i;
}
printf("i = %d\n",i);
printf("s = %d\n",s);
return 0;
}
搜索更多相关主题的帖子: 请求 c语言 代码 新手上路 int 
2019-07-23 13:52
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
得分:5 
回复 楼主 ke20xx
#include "stdafx.h" 应该改为#include <stdio.h>

程序代码:
int main (void) 
{ 
    int i = 0;                 //定义整型变量,这个应该知道吧
    int s = 0; 
    for (i = 1; i <= 10; i++)  //for循环从1到10
    { 
        if (i == 6)
        {                      //if判断,当i等于6时执行if里面的代码           
            continue;          //continue是继续下一个循环,即continue后面的代码都不执行了,重新开始执行下一个循环
        } 
        s += i;                //将s + i的值赋给s 
    } 
    printf("i = %d\n",i);      //当i = 11的时候,退出for循环,所以i = 11
    printf("s = %d\n",s);      //1+2+...+10=55,因为i = 6 时不执行s += i; 这条语句,所以最后s = 49
    return 0;                  //main函数的返回值,执行成功返回0,失败返回非0值
}


[此贴子已经被作者于2019-7-23 16:20编辑过]


不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-07-23 14:21
aCprogrammer
Rank: 2
等 级:论坛游民
威 望:3
帖 子:38
专家分:43
注 册:2019-6-25
得分:5 
建议采用一下缩进格式,这样更容易理解
2019-07-23 15:29
ke20xx
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-22
得分:0 
回复 2楼 wufuzhang
学到了学到了,谢谢哈
2019-07-23 18:18
ke20xx
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-22
得分:0 
回复 2楼 wufuzhang
不好意思,能在帮我看看这个嘛,刚开的课程感觉好难,看不懂
#include "stdio.h"
#include <string.h>
int main (void)
{
    unsigned int a=6;
    int b = -20;
    (a+b>6)? printf("a+b>6\n") : printf("a+b<=6\n");
    return 0;
}
输出结果是什么?为什么?
2019-07-23 18:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
结果是什么?你运行一下就知道了。
为什么?整数提升,int和unsigned作运算时,int提升为unsigned类型
2019-07-23 20:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
若无符号操作数的转换等级大于或等于有符号操作数的转换等级,则将有符号操作数转换为无符号操作数的类型。

https://zh.
2019-07-23 20:16
ke20xx
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-7-22
得分:0 
回复 6楼 rjsp
感谢大神解答,刚学习C不是很懂
2019-07-23 20:54
热心市民小白
Rank: 1
等 级:新手上路
帖 子:5
专家分:5
注 册:2019-7-23
得分:5 
回复 5楼 ke20xx
a+b>6
a+b<=6
这就是程序运行结果
2019-07-24 00:32
wufuzhang
Rank: 9Rank: 9Rank: 9
来 自:广州
等 级:贵宾
威 望:21
帖 子:206
专家分:1346
注 册:2017-8-9
得分:0 
回复 5楼 ke20xx
先告诉你输出结果是:a + b > 6

看下面代码:
程序代码:
#include <stdio.h>
#include <string.h>

 
int main (void) 
{ 
    unsigned int a = 6; 
    int b = -20;
    printf("a + b = %X\n", a + b); //a + b = -14,十六进制输出FFFFFFF2
    (a + b > 0xFFFFFFF1)? printf("a + b > 0xFFFFFFF1\n") : printf("a + b <= 0xFFFFFFF1\n");   
    //有符号整数与无符号整数相加,结果被提升为无符号整数,所以FFFFFFF2被当做无符号整数处理,大于0xFFFFFFF1,输出第一个表达式a + b > 0xFFFFFFF1
    (a + b > 0xFFFFFFF2)? printf("a + b > 0xFFFFFFF2\n") : printf("a + b <= 0xFFFFFFF2\n"); 
    //同理,这条语句输出第二个表达式a + b <= 0xFFFFFFF2
    (a + b > 6)? printf("a + b > 6\n") : printf("a + b <= 6\n"); 
    //所以这个条语句当然输出a + b > 6
    //注:这个是c中唯一的三元运算符,先判断?左边的表达式,为真输出?右边第一个表达式,为假输出?右边第二个表达式。
    return 0;
}


[此贴子已经被作者于2019-7-24 09:36编辑过]


不经历千百遍的调试,怎能体会成功时那一刹那的喜悦。
2019-07-24 09:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495997-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.212876 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved