C语言问题计算
展开全部
因为sum=a+b;的时候a,b都没有赋初值
应该先对a
=
0,b
=
0再参加运算
应该先对a
=
0,b
=
0再参加运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开始定义变量后没有赋值操作,直接进行了运算
所以出现这种情况,正确的是
void
main()
{int
a,b,sum;
b=1;
a=2;
sum=a+b;
printf("sum
is%d\n",sum);
}
所以出现这种情况,正确的是
void
main()
{int
a,b,sum;
b=1;
a=2;
sum=a+b;
printf("sum
is%d\n",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void
main()
{int
a,b,sum;
b=1;
a=2;
sum=a+b;
printf("sum
is%d\n",sum);
这样才是你想要的答案3
好简单啊,因为a
,b
没有初始化你就用来计算了,所以这个得到的值是不确定的
希望对你有帮助
}
main()
{int
a,b,sum;
b=1;
a=2;
sum=a+b;
printf("sum
is%d\n",sum);
这样才是你想要的答案3
好简单啊,因为a
,b
没有初始化你就用来计算了,所以这个得到的值是不确定的
希望对你有帮助
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
顺序问题。编译器是按照循序执行语句
程序当中你先定义了a,b
。
并没有初始化。编译器给分配了存储空间但其中的内容并不确定。
所以当执行到sum=a+b的时候就把a,b当中的随机的值取了出来。
然后你又定义了a,b的值,这是并不影响sum的值。所以可以这样改
void
main()
{int
a,b,sum;
b=1;
a=2;
sum=a+b;
printf("sum
is%d\n",sum);
}
程序当中你先定义了a,b
。
并没有初始化。编译器给分配了存储空间但其中的内容并不确定。
所以当执行到sum=a+b的时候就把a,b当中的随机的值取了出来。
然后你又定义了a,b的值,这是并不影响sum的值。所以可以这样改
void
main()
{int
a,b,sum;
b=1;
a=2;
sum=a+b;
printf("sum
is%d\n",sum);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选B
*(p+8)
过程见下:
*p=a;//初始时数组a的首元素的地址赋给了指针变量p
说明:在C语言里数组名代表数组首元素
,这句话你必须得记住。
推论:
*(p+8)
括号里的优先级比*号要高
,所以先执行
p+8(p+8与a[8]等价)p+8是地址
通过上述可知:*(p+8)//其中“
*
”表示“指向”,*(p+8)表示“指针变量p所指向的变量”即a[8]元素的值9
*(p+8)
过程见下:
*p=a;//初始时数组a的首元素的地址赋给了指针变量p
说明:在C语言里数组名代表数组首元素
,这句话你必须得记住。
推论:
*(p+8)
括号里的优先级比*号要高
,所以先执行
p+8(p+8与a[8]等价)p+8是地址
通过上述可知:*(p+8)//其中“
*
”表示“指向”,*(p+8)表示“指针变量p所指向的变量”即a[8]元素的值9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询