请求各位大神帮我看看这段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;
}
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编辑过]
#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编辑过]