这主要是出在a--上,当执行完a++<9的判断后,这时a的值为10,输出的是a--的值,需要对a--进行运算,这时a的值是9,而a--的值是10.因为a--是运算后a的值再减去1。如果是--a的话就是9了。
这段代码编译运行没问题,3个问题结果如下:1、我本机编译运行没这个问题,即头文件加上#include<cstdio>后,输出结果都正确(指修正2、3问题后的结果)。其实cstdio和iostream都有printf函数的。。。2、long是32位整数(部分用linux调整参数编译的情况忽略。。。),计算斐波数列的话,到了30几项的...
scanf("%d %d",&m,&n); p=a; printf("%d ",(*(p+m-1))[n-1]);你要是输入了2,3,那结果就是7.*p[ ]是指针数组。意思就是说这个数组里面全部都是指针!同样是上面的这个数组a[3][4],我们用指针数组*p[3 ]把数组a中的元素全部输出! int a[3][4]={ {1,2,3,4}, {5,6,7,8}, {...
因为a/,&是位运算符吧在这里要注意的是&不是&&符号;b=1 即转化为二进制应该是01
int i=0,a[50];void fun(int n, int r){ for(;;i++) {if (n==0) break ; else {a[i]=n%2; return fun(n/=2,r);}} for(;i>=0;i--) printf("%d",a[i]);}void main(){ int n,r=2; scanf("%d",&n); fun(n,r);}哪里错了?
printf("%d\n",a/b*b);相当于a/b=3(为商),然后再乘3*(-3)=-9,结果为-9 printf("%d\n",-a%b);-a=10 soyi所以为10除-3的余数,商为-3,余数为1,注意余数一定为非负数。所以输出为1 printf("%d\n",a-=b+++1);这里a-=b+++1相当于:a=a-(b+++1),由于是后++,...
num=a[i]-'A'+10; sum=sum*B+num; } returnsum; } voidNumchange(intm,intB) { intn; if(m) { Numchange(m/B,B); n=m%B; if(n<10) printf("%d",n); else printf("%c",n+55); } } intmain() { intB,b; chara[20]; printf("请输入待转换数的进制(2-16):"); do{ sc...
include <stdarg.h> //函数可变参数宏包含在此文件中(属于C语言的标准库)给你一个例子:/ 功能名称: aveage 通过可变参数宏来完成N个数的平均值计算 入口参数: ParaNum 参数个数 , ... 可能的参数 出口参数: 平均值float 备注名称:日期版本:/ float average(int ParaNum,...);float average(...
答案是345 a其实是a[0][0]的首地址 经这么一弄 int a[3][3],*p,i;p=&a[0][0];p就是a,也就是a[0][0]的首地址 由 for(i=0;i<9;i++) p[i]=i;可知p=0,1,2,3,4,5,6,7,8(注意没有9哦)0~8刚好9个数跟a[3][3]一一对应 电脑默认的内存区是按a[0][0],a[0]...
int xh,i=1;if(direction==1) //当direction的值为1时,新建立的结点连到尾部 { tail=head=(NODE *)malloc(sizeof(NODE));head->next=NULL;printf("请输入第%d个学生的学号:",i);scanf("%d",&xh);while(xh>0) //从键盘临时输入学生情况,当输入的学号非正,则链表建立完毕 { p=(...