有以下程序段: int x; for(x=3;x<6;x++) printf((x%2)("**%d"):("##%dn"),x);

有以下程序段: int x; for(x=3;x<6;x++) printf((x%2)("**%d"):("##%dn"),x);,第1张

当循环执行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;等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10207280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存