当循环执行x=3时 判断条件(x%2)为真,执行(“%d”) 输出结果为 3 而语句中并没有\n 即就是 不换行 然后循环执行x=4时 判断后执行(“##%d\n”) 输出结果为 ##4(并加换行)
所以结果是
3##4
5
而不是
3
##4
5
就是这样啦~
不知道 说的清楚否~
D:
case 1:
case 3:其实就是case 1:case3:printf("%d\n",n); break;
换句话说就是如果n为1、3时执行。
所以C错。
因为当n为2、4时,执行后面的continue,就是又重新跳回循环开始。
所以B错。
因为continue不会影响计数器i的值,所以,循环次数不为8,肯定大于等于8;
所以A错。
而当0时,执行exit(0),肯定结束程序的运行。
故D正确。
你写的语句有点问题,我整理一下应该如下:
int
a[10]={0,1,2,3,4,5,6,7,8,9};
int
p=&a[3]; 下标从0开始,因此这句话的意思是定义一个int类型的指针P,指向数组a的第4个元素,即p=3
b;
这一行不清楚是什么意思
int a[10]={1,2,3,4,5,6,7,8,9,10},p=&a[2];
p+=5;
这里应该是p+=5,否则没有正确答案。
p初始指向a[2]
自加5之后 指向a[2+5]=a[7]=8
所以p值为8
这个程序段存在语法错误,无法正确输出结果。不过我们可以分析一下程序段中存在的语法问题。
第一个问题出现在“b=a+6;+{”这一行,其中“+{”是无效字符,会导致编译器报错。
第二个问题在“int+c=2;”这一行,变量的声明应该在函数或者语句块的开头,而不是在语句中。
第三个问题在“a=?”这一行,乘号后面缺少乘数,无法进行运算。
修正这些语法问题之后,程序可能会变成如下的形式:
arduinoCopy code#include <stdioh>int main() { int a = 6, b;b = a + 6;
{ int c = 2;
a = c;
} printf("%d %d\n", a, b); return 0;
}
这个程序的输出结果将是“12 12”,即变量a的值在语句块中乘以2之后变成了12,而变量b的值是a+6,也就是12。
b都没赋值,哪里能算出来结果?
另外按照运算符优先级,d/b%a这句话就是从左到右依次执行,先算除法,再取余数。
d%c+b/a5+5这句话就是算乘除法,再算取余,最后把三项相加。
以上所有运算均为整数运算,如果除法中涉及小数,会被截断成int数,即丢失小数部分、取整数部分再进行运算。
以上就是关于有以下程序段: int x; for(x=3;x<6;x++) printf((x%2)("**%d"):("##%d\n"),x);全部的内容,包括:有以下程序段: int x; for(x=3;x<6;x++) printf((x%2)("**%d"):("##%d\n"),x);、有以下程序段、有以下程序段int a[10]={0,1,2,3,4,5,6,7,8,9},*p=&a[3],b;等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)