[C]
yxlovemoney
这个作者很懒,什么都没留下…
展开
-
[C] 一个要注意的输入输出问题
如下这样的程序:#includevoid main(){ int i; i=5; printf("%d %d/n",++i,--i);}输出结果是 5 4读取的话是先按--i读起,然后再读++i,而输出的时候就是按从左到右的方式.原创 2007-07-27 04:48:00 · 484 阅读 · 0 评论 -
[C]指针数组
char *str[2]={"fuck","you"}; printf("%c/n",str[1][1]);---------->这样会输出"o"; char *str[2]={"fuck","you"}; printf("%s/n",str[1]);---------->这样会输出"you"char *str[2]={"fuck","you"}; printf("%c/n",*st原创 2007-08-15 15:57:00 · 786 阅读 · 0 评论 -
[C]从题中得到的新认识
一元钱分成1分、2分、5分的,问有多少种分法?(分钱.c) (答案:541种.) main() {int i,j,sum=0; for (i=0;i变量i为5分钱的数量*/ for (j=0;j变量j为2分钱的数量,其余的就为一分钱*/ sum++; printf("共有%d种分法.",sum); getch(); }原创 2007-08-16 15:49:00 · 612 阅读 · 0 评论 -
[C]自建XXX.h 文件
先把需要操作写在文件中, 保存为 XXX.h 的文件,然后就可以在程序中调用如:test.h 文件如下:#define LAG >#define SMA #define EQ == 在正式程序中就可以用了#include "test.h"#include "stdio.h"void main(){ int i=10;int j=20;if(i LAG j)printf(原创 2007-08-18 09:55:00 · 1076 阅读 · 0 评论 -
[C]将原有链表中的元素倒序输出
结点数据域依次为 a1,a2.........,an的一个单链表所有结点逆置,即第一个结点数据域变为 an最后一个结点数据域变为 a1?#include#includestruct list{ int num; struct list *next;}*head;void new_record(){ struct list *p,*newer; newer=(struct list *)ma原创 2007-08-21 12:26:00 · 1043 阅读 · 0 评论 -
[C]整形数直接赋给指针作为地址
#includevoid main(){ int a=123,b; int *p=&a; char *str; b=(int)p; str=(char *)b;} 直接把整型数值赋给指针作为地址,要用上强制转换 (TYPE *)b(TYPE是指针的类型), 同理指针地址也可以也可作为整型数赋给个整变量.(TYPE)p.原创 2007-08-17 15:22:00 · 1241 阅读 · 0 评论 -
[C]指针(*p)[10]
#includevoid main(){ int a[10]={1,3,5,6,7}; int b[3]={2,4,6}; int (*p)[2]; p=&a; printf("%d/n",(*p)[0]);//指向a数组的首元素因为*p=a,这里等于写a[0] printf("%d/n",(*p)[1]);//同上 printf("%d/n",*p[0]);//同前一例 printf("%d原创 2007-09-06 14:37:00 · 827 阅读 · 0 评论 -
[C]二级指针与指针数组
char *str[]={"djfk d"};char **p;p=str;printf("%s/n",*p); -------->才可将字符串打印出来,以一维数组的思路想. 其实指针数组中的数字大小,并不是一个字符串可以有多长的字符,而是可以有多少个字符串,比如:*str[10]就可以有十个字符串, 例子:#includevoid main(){ int l原创 2007-09-06 00:33:00 · 1064 阅读 · 0 评论 -
[C]sprintf用法
#include#includevoid main(){ char s[40]; sprintf(s,"s=%s,integer=%d","abc",1); printf("/n%s/n",s);}/*sprintf的用法,將"s=%s,integer=%d"的所有內容放到字符數組S裡去*/原创 2008-01-21 11:05:00 · 2534 阅读 · 1 评论 -
sscanf的一些用法
1. 常见用法。以下是引用片段: char str[512] = {0}; sscanf("123456 ", "%s", str); printf("str=%s/n", str); 2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。以下是引用片段: sscanf("123456 ", "%4s", str); printf("str=%s/n", str原创 2008-01-19 22:01:00 · 587 阅读 · 0 评论 -
[C]static与单独的{}
1. 一般的變數在運行子程序後,重新執行時的值和上一次運行完的值是沒關係的但加上 static 的不同,加了该关键字的,变量在循环中变化,值是关联的.2.{}#include void main(){ int i,num; num=2; for(i=0;i { printf("/40:the num equal %d/n",num); num++; {原创 2007-08-14 12:30:00 · 603 阅读 · 0 评论 -
[C]螺旋矩形算法
1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9*/#include #define N 10 //这个是那个输入的 10 ,这个程序不能做为输入来确定, //不过可以做适当的修改就可以了main(){int i,j,n=1,a[N][N];for(i=0;i for(j原创 2007-08-13 16:52:00 · 965 阅读 · 0 评论 -
[C] 输出问题
像一个变量 i=3.5; 如果以 %d输出的话,只会输出小数点左边的数, 无视四舍五入, 所以会输出 3原创 2007-07-28 00:12:00 · 542 阅读 · 0 评论 -
C的函数 gotoxy()
在dos屏幕下,显示区域是80行,25列,也就是80*25。而且规定屏幕左上角为(0,0)。gotoxy(x,y)是把光标移动到。原创 2007-08-03 17:50:00 · 1640 阅读 · 0 评论 -
[C]指针的一些点
#includevoid main(){ int **p1,*p2,i=3; p2=&i;p1=&p2; printf("p1=%x,p2=%d/n",p1,p2);}像这样的程序,p1是指向指针的指针,既p1是存放p2的地址, 所以**p1的值就是 i 但*p1的地址值也是p2的地址值,*p1也可接收 i 的地址,但会报错,不过能执行.原创 2007-08-05 20:30:00 · 504 阅读 · 0 评论 -
[C]两个数组,把第一数组没第二数组的元素赋到第一数组
#include#define N 4#define M 4void main(){ int i=0,j=0,l,m=0,array1[N]={1,2,3,4},array2[M]={2,4,6,8}; l=N; while(i!=M) { m=0; for(j=0;j { if(array2[i]!=array1[j]) { m++;原创 2007-08-04 00:51:00 · 557 阅读 · 0 评论 -
[C]两数组放到另一数组
两个已排好序的数组,把其元素放到第三数组并有序:#includevoid main(){ int i,j,k,m,n,a[]={1,3,5,7,9},b[]={4,6,8,10,11}; int c[10]; i=j=k=0; while(i { if((a[i] { c[k]=a[i]; k++;i++; } if(b[j] { c[k]=b[j原创 2007-08-07 23:28:00 · 743 阅读 · 0 评论 -
[C]const几点注意地方
1)const int m=1;与 int const m=1; 意义一样.2) int const *p1; 对p1指向的变量的值限制,不能改变,但地址能改变. int *const p1; 对p1指向变量的地址限制,地址不能改变,指向值能改变,3) int *const *p1;基本与 int const *p1 一样,具体作用还在查明中.....原创 2007-08-08 14:58:00 · 540 阅读 · 0 评论 -
[C]*与++优先级问题
从上例中我们可以看到。当 * (作为地址解析符) 和 ++ 同时作用在指针时,不管是前置还是++,都要比*有更高的优先级。比如代码中的: int A = *parr++; 我们来一个反证:假设*的优先级比++高,那么,应先计算: *parr 结果为: 1 (第一个元素) 然后计算 1++ ,结果为:2。 但实验发现结果为 1,这个1 又是如何来原创 2007-08-11 15:15:00 · 940 阅读 · 0 评论 -
[C]二维数组与指针
形如:int a[10][10];int (*p)[10];这里要使指针p得到二维数组初始地址,要这样写---- p=a; 这里不难理解因为都属于二级的, p是指针型变量,指向一个包含5个元素的一维数组,故(*p)[10] 属二级指针如:int a[10];int (*p)[10];此时要取得a的首地址应该这样----p= &a; 因为一维数组相当于一级指针,a[原创 2007-08-12 21:54:00 · 2179 阅读 · 1 评论 -
[C]百鸡问题
公鸡一值钱五,母鸡一值钱三,小鸡三值钱一.百钱买百鸡,得公鸡,母鸡,小鸡各多少?main(){ int cocks,hens,chicks; // 分别代表公鸡,母鸡,小鸡 cocks=0; while(cocks { hens=0; while(hens { chicks=100-cocks-h原创 2007-08-09 00:34:00 · 858 阅读 · 0 评论 -
[C]fprintf用 法
fprintf 是對於文件操作#include #include FILE *stream; void main( void ) { int i = 10; double fp = 1.5; char s[] = "this is a string"; char c = /n; stream = fopen( "fprintf.out", "w" ); fprintf( stream,原创 2008-01-23 11:29:00 · 4508 阅读 · 0 评论