随笔

简介: 随笔

目录


易错点


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

相关文章
|
1月前
|
算法 Java 测试技术
[随笔]记一次工作失误
本文讲述了作者在工作中的一次严重失误及其应对过程。作为Java开发实习生,作者在搭建第三环境时误将测试数据导入正式环境,幸好前辈留了一手,未造成重大损失。通过这次经历,作者深刻认识到工作中的谨慎与技术的重要性,并分享了降低失误率的工作技巧和方法,强调了多做笔记、学习前辈经验、保持谦卑态度等。
69 28
|
安全 Windows
随笔
一则随笔
102 0
随笔
随笔0610
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396384 爱挑的担子不嫌重。
759 0
随笔 - 茶花
梦中的古茶树 开满了茶花 朵朵茂盛 而我 站在茶树下 欣赏着这自然的风光 心中 想起你的温柔 就象这茶花一样 滋润而甜美 祝愿我们的爱情 就象这茶花一样 永远的 甜蜜   想飞的水 ``` 2018.
973 0
|
网络协议 开发工具 数据安全/隐私保护
C 随笔
multiLine comment 浮点输出格式描述使用G/g 可以去除尾部无效的0 escape character;
610 0
随笔 2016-1-4
有人问我怎么在网上混。。。我也不清楚,我只能这么说:“网上毕竟只是虚拟的,我们有时候用它来挣钱,有时候拿它去消遣,它不可或缺却也不是头等重要。心情好的时候你可以发发技术,无聊至极你可以玩玩游戏拿拿小站。
820 0
随笔 01
  有段时间没有在博客园写点什么了,可能是一直没什么时间花在这个上面吧。   确是想来总结点什么才好。   2015.8 在B公司工作了两个月,也是在那个时候入的园子,现在还能想起来那个时候的情景,也就五六个人的小团队吧,如果能融入他们,可能现在的我博客更新会很“勤奋”吧!   来D公司一月有余,时间很长,工作的时候倒是没有那么多的不开心,也就偶尔加加班什么的,乐得自在,没那么多的约束。
794 0
|
存储 大数据 虚拟化
vForum 2014点滴随笔
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
554 0
|
算法
【生活随笔】随笔一
        在暑假的上一阶段,我终于完成了算法导论中有关排序算法和树结构的学习及具体的程序实践。回头想想,收获不小,由于我是学通信的,以后可能很少用得到,但是我觉得我学习到的不是算法本身,而是算法的思想。
1154 0