#include<stdio.h> int main() { while(1) { fprintf(stdout,"Group"); fprintf(stderr,"XiyouLinux "); getchar(); } return 0; } 如果不输入得到一行,光标停止,如果加换行 但是如果没有输入换行,就会得到下列结果 因为stdout会先放在缓存区,等错误信息打出,在执行清除缓存,所以Group最后写出 如果我们在stdout那一行加上换行就不同了 #include<stdio.h> int main() { while(1) { fprintf(stdout,"Group\n"); fprintf(stderr,"XiyouLinux"); getchar(); } } Group会先 继续阅读 >>


陈文浩 17/05/30 21:40:31
1、关于int和char转换问题 #include<stdio.h> #include<string.h> int main() {     char str[512];     int i;     for(i=0;i<512;i++)         str[i]=-1-i;     printf("%d\n",strlen(str));     return 0; } 解释: 因为在str的时候-1和是整数,默认按32位走,左边高地址,右边低地址 因为char只会读取一字节,只会读一字节 -1-0补码 1111 1111 1111 1111 1111 1111 1111 1111-0000 0000 0000 0000 0000 0000 0000 0000 结果str[0]=(补码1111 1111)-1 -1-255的时候,补码1111 111 继续阅读 >>


陈文浩 17/05/27 11:07:18
一直在纠结%s还有%c的区别,今天就来好好总结一下 1、%c char c; scanf("%c",&c); printf("%d",c);//便于显示 输入:空格(换行) 输出:32((10)//ASCALL码 重点神奇用法 scanf("空格%c",&c)//加上空格此时会忽略空格,换行,还有TAB 2、%s char a[10]; scanf("%s",a); printf("%s",a); 输入:123空格456 输出:123 原因:因为scanf对于%s时会以空格结束 注意:%s同样不接受换行符和TAB 作者:m0_37787222 发表于2017/5/24 21:17:27 原文链接 阅读:52 评论:2 继续阅读 >>


陈文浩 17/05/24 21:17:27
给出一个4*4的棋盘,每个单元只可能是“.”,“o”或者“x”中的一种,其中“.”代表当前单元没有棋子,“o”代表当前单元有乙的棋子,“x”代表当前单元有甲的棋子。 现在需要你判断,如果下一步轮到甲下棋,那么他能否下一步棋而获得胜利?(胜利的规则是棋盘上有自己方的三个子在一条线上,此条线可以是水平竖直或者斜45度的)。 Input 输入有4行,每行4个字符,代表当前单元的情况。 Output 如果甲可以再下一步就获得胜利输出“YES”,否则输出“NO”。 Example 样例输入① xx.. .oo. x... oox. 样例输出① YES 样例输入② x.ox ox.. x.o. oo.x 样例输出② NO #include<stdio.h> int row(char a[][5],int i,int j);//判断行 int colum(char a[][5],int i,int j);//判断列 int line(char a[][5],int i,int j);//判断对角线 int turn(char a[][5],int i,i 继续阅读 >>


陈文浩 17/05/22 20:30:43
a=c++,b++等价于a=c++和b++ a=(c++,b++)等价于a=b++,逗号表达式加括号的时候,最终结果是最右边的结果 作者:m0_37787222 发表于2017/5/15 21:26:42 原文链接 阅读:28 评论:0 查看评论 继续阅读 >>


陈文浩 17/05/15 21:26:42
#include<stdio.h> int count(int n); int main() { int a[4],year,n,i,sum; scanf("%d%d",&year,&n); sum=year; for(i=year;i<=9999;i++){ if(count(i)==n){ printf("%d %04d",sum-year,sum); break; } sum++; } return 0; } int count(int n) { int num[10]={0},i,total=0; char charc[4]; sprintf(charc,"%04d",n);//将数字转为字符串 for(i=0;i<4; 继续阅读 >>


陈文浩 17/05/12 01:16:00
#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct link{ int data; struct link *next; }node; int main() { int n,i,a[10]; node *p,*q,*c,*head=NULL; scanf("%d",&n); for(int i = 1; i <= n; i++)//创建链表 { p = (node*)malloc(sizeof(node));//分配空间 p->next = NULL;//将下一个节点为NULL,当最后一个节点完成,结束 scanf("%d",&p->data); if(head == NULL) head = p; 继续阅读 >>


陈文浩 17/05/11 00:42:53
二级指针 Int c=100; Int **a=&b; Int *b=&c   指针变量同普通变量一样,使用之前不仅要定义说明, 而且必须赋予具体的值。未经赋值的指针变量不能使用, 否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。   作者:m0_37787222 发表于2017/5/11 0:05:32 原文链接 阅读:32 评论:0 查看评论 继续阅读 >>


陈文浩 17/05/11 00:05:32