一直在纠结%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