关于C语言的小问题?

2025-03-01 20:26:46
推荐回答(5个)
回答1:

我做了详细的改正,希望对你有所帮助,程序我没有运行,你自己试下,应该可以的,#includevoid
main(){int
i=1,a,b=0;char
s;while(1){printf("退出输入Q,继续请输入Y\n");scanf("%c",&s);if(s=='Y'){
printf("输入第n个偶数:");
scanf("%d",&a);
do
{
b=b+i*2;
i++;
}while(i<=a);
printf("\n2+4+6+8+……+%d=%d",a,b);}else
if(s=='Q'){
printf("退出系统\n");
break;}else{printf("输入无效,请从新输入");}}}

回答2:

\ddd中
ddd对应
1~3位八进制数。
\xhh

hh
对应
1-2位16进制数。
举例说。
\101
,101是8进制数,转换为10进制是65,那么\101
对应的字符就是数字65对应的字符(请参考assic表),就是A。同理
\102
对应的字符就是B.

回答3:

最简单的方法,你可以先声明一个大一点的二维数组,比如说你要用到的数组长度不会超过[10][10],那你就可以先声明一个[20][20]的,输入时只输入行列数比如m和n,然后后面操作你就在m和n的范围内操作就行了。

回答4:

void
inv(int
*a,4)这个地方有错。4是个常数,函数的定义里需要的是可变的参数,常数直接放在需要用的地方就可以了。

回答5:

z=1||++x&&y--;只是条语句。
只是将这条表达式语句的结果赋给z,而实际上x,y的值没有改变。
虽然在运算过程中x有自增,y有自减。但是在&&运算符的作用下,只是判断真假,即1或0而言,并不会改变x,y中的值。