随笔

简介: 随笔

目录


易错点


1.字符串


2.if语句


3.关键字


typedef


register


4.动态内存开辟


易错点


1.字符串


if语句


关键字


typedef


register


1.练习一


求最大因数


2.字符串反转


1.法一

2.法2.

3.法3



易错点

1.字符串

可以把字符串放到字符数组里面去
1.char arr[10]="abc";
  char arr[10]={"abc"}//这两者是一样的
2.1.char arr1[]="abc";
  2.char arr2[]={'a','b','c'};这两者是不一样的
  3.char arr3[]={'a','b','c','\0'};这和arr1是一样的
printf("%s",arr);//%s是打印字符串的,截至到\0,而arr2打印出来的是错误的,无\0
同理strlen计算也是截至到\0,
3.printf("%d",strlen("c:\test\628\test.c"))//结果为14
计算的是""里面的,\t,\62,\t都是转义字符,
\ddd三。二。1位8进制数都被理解为转移字符转化为字符,如\101,\62,都是转义字符,而\628仅\62
是转义字符,8进制最高到7,
\xdd2位16进制数,也理解为转义字符

if语句

int main()
{
int a=0;
if(a=20)//a=20非0,if语句为真就会执行
{
printf("h");//h会成功打印
}
return 0;
}

关键字

typedef

关键字
typedef 类型重定义
typedef unsigned int u_int//u_int即新名字,unsigned int 为原来的类型名
int main()
{
//unsigned int -无符号整形
unsigned int a=10;//觉得每次都这样写很麻烦就可以对他起个名
u_int a=20;//与上面是一样的 
return 0;
}


register


register//寄存器变量,只是起到一个建议作用
int main()
{
register int a=10;
&a;//寄存器变量是不能&的,&是从内存中取出来,而寄存器变量并非存在内存里面
return 0;
}


4.动态内存开辟

image.png

1.练习一

求最大因数

int main()
{
  int n;
  scanf("%d", &n);
  int i = 1;
  int max = 1;
  for (i = 1; i < n; i++)
  {
    if (n%i == 0)
    {
      max = i;
    }
  }
  printf("%d", max);
  return 0;
}

2.字符串反转

法1.

int main()
{
  char sre[10] = "abcde";
  int len = strlen(sre);
  int i = 0;
  for (i=0; i < len/2 ; i++)//;len=5,len/2=2,2也即是数组的中间值,交换数组的位置,亮亮交换
  {
    int t = sre[i];
    sre[i] = sre[len - 1 - i];
    sre[len - 1 - i] = t;
  }
  printf("%s", sre);
  return 0;
}

法2.

void reverse()
{
  char c;
  scanf("%c", &c);//输入一个字符串,而读取时是在输入缓冲区一个一个读取,同理getchar也是
  if (c != '\n')
  {
    reverse();//递归到回车前便回打印回车前的字符,一次再完回打印,实现字符倒叙
    printf("%c", c);
  }
}
int main()
{
  printf("请输入字符串");
  reverse();
  return 0;
}


法3.

int main()
{
  char str[] = "abcdef";
  int i = 0;
  int len = strlen(str);
  for (i = len - 1; i >= 0; i--)
  {
    printf("%c", str[i]);
  }
  return 0;
}

错误示范

int main()
{
  char str[10] = "abcdef";
  int len = strlen(str);
  int i = 0;
  for (i = 0; i < len; i++)
  {
    str[i] = str[len - 1 - i];
  }
  return 0;
}

image.png

int main()
{
  char str[10] = "abcdef";
  int len = strlen(str);
  int i = 0;
  for (i = 0; i < len/2; i++)
  {
    str[i] = str[len - 1 - i];
  }
  return 0;
}

image.png

相关文章
|
安全 Windows
随笔
一则随笔
随笔
|
网络协议 开发工具 数据安全/隐私保护
随笔收藏
图片发自简书App 图片发自简书App 图片发自简书App 图片发自简书App
770 0
C 随笔
multiLine comment 浮点输出格式描述使用G/g 可以去除尾部无效的0 escape character;
607 0
随笔 2016-1-4
有人问我怎么在网上混。。。我也不清楚,我只能这么说:“网上毕竟只是虚拟的,我们有时候用它来挣钱,有时候拿它去消遣,它不可或缺却也不是头等重要。心情好的时候你可以发发技术,无聊至极你可以玩玩游戏拿拿小站。
816 0
随笔 01
  有段时间没有在博客园写点什么了,可能是一直没什么时间花在这个上面吧。   确是想来总结点什么才好。   2015.8 在B公司工作了两个月,也是在那个时候入的园子,现在还能想起来那个时候的情景,也就五六个人的小团队吧,如果能融入他们,可能现在的我博客更新会很“勤奋”吧!   来D公司一月有余,时间很长,工作的时候倒是没有那么多的不开心,也就偶尔加加班什么的,乐得自在,没那么多的约束。
790 0
|
存储 大数据 虚拟化
vForum 2014点滴随笔
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
551 0
|
程序员
【生活随笔】决定
    注册csdn已经有一年多了,从来也没有进这个论坛看看,当初也只是因为要下载资料而注册的。现在决定转战到这里,一是因为QQ号前不久被盗,一些资料幸好没丢,于是想来将一些个人的文档、程序保存在这里;二是因为csdn中国最大的程序员论坛,想向一些大牛请教请教,毕竟QQ空间的技术大牛并不多,也极少有人会将技术贴发在QQ空间。
1008 0
|
Java
NSAutoreleasePool 随笔
NSAutoreleasePool是一个存放对象的集合,添加到NSAutoreleasePool的对象能够被自动释放。 自动释放其实就是在NSAutoreleasePool被清空或是销毁时向池里所有的对象发送一条release消息。
789 0