- 博客(5)
- 收藏
- 关注
原创 string_pointer
C语言程序中声明字符串有两种方式 char *s = "string"; char s[] = "string"; 这两种方式看起来都是声明了一个内容为string的字符串,其实从内存的角度来看是有区别的。 当你运行 *s = 'a'; 时,第一个语句的程序就死掉了,第二个语句的程序却可以正确运行。 C/C++程序占用的内存分类: 1、栈区(stack)—由编译器自动...
2018-02-28 00:05:54
672
原创 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
365
原创 运算符优先级的比较
一段代码 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; } 输入&输出 aa b a 在这之前我一直有个错误认识,那就是「+」运算符的优先级是高于「*」
2018-01-29 13:26:23
5747
原创 关于字符串中的'\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
10654
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅