- 博客(5)
- 收藏
- 关注
原创 string_pointer
C语言程序中声明字符串有两种方式char *s = "string";char s[] = "string";这两种方式看起来都是声明了一个内容为string的字符串,其实从内存的角度来看是有区别的。当你运行*s = 'a';时,第一个语句的程序就死掉了,第二个语句的程序却可以正确运行。C/C++程序占用的内存分类: 1、栈区(stack)—由编译器自动...
2018-02-28 00:05:54 575
原创 P1025 数的划分
P1025 数的划分将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。#include <iostream>using namespace std;int n,k,cnt;void dfs(int last,int sum,in...
2018-02-27 23:56:36 302
原创 运算符优先级的比较
一段代码int main(int argc, const char * argv[]) { char s[100]; gets(s); char *t = s; printf("%c %c\n",*t+1,*(t+1)); return 0;}输入&输出aab a在这之前我一直有个错误认识,那就是「+」运算符的优先级是高于「*」
2018-01-29 13:26:23 5622
原创 关于字符串中的'\0'
首先需要知道一点,C语言在定义变量时在内存里是按照地址递减的方式分配空间的。那么开始解释一个问题。char s[3] = {'a','b','c'};printf ("%s",s);那么再尝试一下打印s[4]的值,会发现s[4]的值为0,那么也就可以解释为什么上述代码可以正确运行了。但是这种方式是存在问题的,比如我给出这样的代码char s1[] = "a
2018-01-29 13:19:28 10432 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人