在某论坛看到的,void f();int main(){ int a = 0; f(); printf("a = %d\n",a); return 0;}void f()//一个没有参数,没有返回值的函数{......//填写代码
要求执行后输出 "a = 10" //如何解答?f()应该是什么?} 经过一点思考,自己写出一个实现,如下:void f() { *((int *)main-476403)=10; } 上述代码在Code::Blocks下编绎通过,感到很开心,哪知放在C-free环境下,结果却不一样,于是改成:void f() {...
在阅读本文之前希望你看一下我在论坛里发的一张帖子,地址如下:
http://bbs.bccn.net/thread-335209-1-1.html
MS-SQL基础都学完了,以为自己掌握的还不错,谁知还是问题一大堆,例如上述帖子就是。
话归正转,为解决该问题,我们得引入下SQL中的游标。我基础中没有学到游标,如果你也没有学,这里给出两个学习它的网页,看完你就会用了:
1、http://tech.ddvip.com/2007-01/116783114617268.html)
2、http://www.cnblogs.com/zhc088/archiv...
想必大家都学过冒泡排序,假如给一个数组A,他有N个元素,
如果要求对他从小到大排列,则冒泡排序的函数可以这样写:
void sort1(int *A,int N){ int i,j,tmp; for(i=0;i<N-1;i++) for(j=0;j+1<N-i;j++) if(a[j]>a[j+1]) { tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; }}
其实冒泡排序还有一种形式,在这里与大家分享一下。
void sort2(int *A,int N){ int i,j,tmp; for(i=0;i<N;i++) ...
/*请编写程序, 该程序的功能是:对于一维整型数组,输入数组元素, 并删去数组中所有相同的数,使各个元素均不相同。思路:把数组中元素按顺序排列(如从小到大),然后进行操作。*/#include<iostream>#define num 6using namespace std;
void sort(int a[],int n); int fun(int a[],int n); int main(){ int i,n,a[num]; for(i=0;i<num;i++) cin>>a[i]; cout<<endl<<"************"<<endl; sort(a,num); ...
如果您能通过计算得出下面程序的输出结果,那就说明:
1,您对ascii码有了不错的掌握;
2,您对数据在内存中的存储形式以及进制转换理解地很好;
3,您被计算机化了~\(≧▽≦)/~啦啦啦
程序如下:
#include <stdio.h>int main(int argc, char *argv[]){ char a=0xddff; printf("%d\n",a); char b='A'+'32'; //注意辨别 printf("%d %c",b,b); return 0;}
生有涯而思无涯……
下面的程序是计算出一个十进制数的二进制位中有多少个1:
#include <stdio.h>#include <stdlib.h>int func (int x){ int countx = 0; while ( x ) { countx ++; x = x&(x-1); //注意这里 } return countx;}int main(int argc, char *argv[]){ int a; scanf("%d",&a); printf("%d\n",func(a)); system("pause"); ...