C,C++容易被忽略的问题
1.字符串数组,字符串指针可以直接输出
char s2[]="I am a student";
cout<<s2<<endl;
char *p="I am a student";
cout<<p<<endl;
cout<<p[]<<endl;
2.指针变量p分配4个存储单元。
用指针变量处理字符串,要比用数组处理字符串方便。
指针变量用于存放变量地址,而地址通常为4字节,所以指针变量的长度均为4个字节。
#include<stdio.h> void main()
{
int c=sizeof(char);//
int i=sizeof(int);//
int l=sizeof(long);//
int d=sizeof(double);//
int p=sizeof(int *);//
int q=sizeof(char *);// printf("%d\t%d\n",c,i);
printf("%d\t%d\n",l,d);
printf("%d\t%d\n",p,q);
}
3.static关键字定义静态变量时,相当于只执行第一次。下面程序结果为6
#include<stdio.h>
#include<stdlib.h>
c(int i)
{
static int c=;
c+=i;
printf("%d\n",c);
return c;
} int main()
{
int j,i;
for(i=;i<=;i++)
{
j=c(i);
}
printf("%d\n",j);
}
4.printf()函数从右往左执行
int *p;
int a[]={,,};
p=&a;
printf("%d\t%d",*p,*p++);//12 3
5.循环次数不确定时如何设计?
for (;*p2++=*p1++;); //用指针拷贝字符串
【例7.10】用指针实现字符串拷贝。执行后输出:
s1= I am a student
s2= I am a student
#include<iostream>
#include<string.h>
using namespace std;
int main(void)
{
char *p1="I am a student";
char s1[],s2[];
strcpy(s1,p1); //用命令拷贝字符串
char *p2=s2; //将数组s2首地址赋p2
for (;*p2++=*p1++;); //用指针拷贝字符串
cout<<"s1="<<s1<<endl;
cout<<"s2="<<s2;
}
#include<iostream>
#include<string.h>
using namespace std;
int main(void)
{
char *p1="I am a student";//
char s1[],s2[];
strcpy(s1,p1); //用命令拷贝字符串
char *p2=s2; //将数组s2首地址赋p2
int i=;
for (;*p1++;i++)cout<<i<<endl; //用指针拷贝字符串
cout<<"s1="<<s1<<endl;
}
while(*p1!='\n'){...}
6.strlen()求字符串长度
#include<stdio.h>
#include<string.h>//包含该头文件
int main()
{
char *p="abcbc";
int a=strlen(p);
printf("%d",a);//
}
-------------------
to be continued…
C,C++容易被忽略的问题的更多相关文章
- java https单向认证(忽略认证)并支持http基本认证
https单向认证(忽略认证)并支持http基本认证, 温馨提示 1,jar包要导入对 2,有匿名类编译要注意 3,欢迎提问,拿走不谢!背景知识 Https访问的相关知识中,主要分为单向验证和双向验证 ...
- Sqlserver中一直在用又经常被忽略的知识点一
已经有快2个月没有更新博客了,实在是因为最近发生了太多的事情,辞了工作,在湘雅医院待了一个多月,然后又新换了工作...... 在平时的工作中,Sqlserver中许多知识点是经常用到的,但是有时候我们 ...
- 被我们忽略的HttpSession线程安全问题
1. 背景 最近在读<Java concurrency in practice>(Java并发实战),其中1.4节提到了Java web的线程安全问题时有如下一段话: Servlets a ...
- 神奇的BFC以及被忽略的东西
BFC是CSS中一个非常重要的概念,经常用来清除浮动以及处理外边距折叠,但BFC到底是个什么东西却很难准确的表达清楚,国内的相关技术文档基本都不全面,本文的目的就是对BFC的方方面面做个整理,当然未必 ...
- jq.validate隐藏元素忽略验证
jq.validate隐藏元素忽略验证 现在有这样一个需求,当触发某类事件时候,需要在页面中显示input框,但是当不需要加载页面中的元素时候,进行隐藏.在这个需求的前提下,程序中对于input中的输 ...
- Git忽略.gitignore规则不生效的解决办法
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件). 这个文件每一行保存了一个匹配的规则例如: # 此为 ...
- Intellij Idea/Webstorm/Phpstorm 版本控制忽略文件
本地差异化配置,不需要提交,这时候需要在整个版本控制中忽略掉文件的提交. File -> Settings -> Version Control -> Ignored Files
- sql注入时易被忽略的语法技巧以及二次注入
那些容易被忽略.容易被弄错的地方 sql注入时的技巧 ========================================================================= ...
- 让Git忽略所有obj和bin目录的同步
DotNet的项目里,编译出来的二进制文件默认都是放在每个项目对应的bin和obj目录下,有时候开发人员会不小心把这些目录的文件错误的提交到Git服务器.Git里的忽略文件功能可以通过一个.gitig ...
- Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
一.照片采集的实用概念 根据照片进行三维重建的过程中,有人没怎么遇到坑,有人被坑的不轻.可能是模型的纹理失真,模型的法线错了,模型会生成我们各种也想不到的结果,那么,是什么导致三维重建效果这么差的?是 ...
随机推荐
- python写的battle ship小游戏 - 1.0
最近学python,这是今天写的一个小游戏. from random import randint class Board(object): board = [] def __init__(self, ...
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
原文链接:http://mechanitis.blogspot.com/2011/07/dissecting-disruptor-why-its-so-fast_22.html 需FQ 计算机入门 ...
- Tomcat源码分析——SERVER.XML文件的加载与解析
前言 作为Java程序员,对于Tomcat的server.xml想必都不陌生.本文基于Tomcat7.0的Java源码,对server.xml文件是如何加载和解析的进行分析. 加载 server.xm ...
- 慕课网-安卓工程师初养成-3-6 Java中的逻辑运算符
来源: http://www.imooc.com/code/1301 逻辑运算符主要用于进行逻辑运算.Java 中常用的逻辑运算符如下表所示: 我们可以从“投票选举”的角度理解逻辑运算符: 1. 与: ...
- pip的安装及使用
pip 是“A tool for installing and managing Python packages.”,即pip是python的软件安装工具安装:方法一:(亲自使用)1.去官网下载get ...
- 学习总结 for循环语句的应用
for(初始值:条件表达式:状态改变) { } \n 表示换行 \ttab键 \\写出一个斜杠 例题解释 // 输出一个数,打印一到n出来 int n = int.Parse(Console. ...
- JAR包
1, 使用JAR文件 jar文件的全称是Java Archive File,意思就是Java档案文件,通常jar文件是一种压缩文件,与常见的ZIP压缩文件兼容,通常也被称为jar包,j ...
- SQLserver2008使用表达式递归查询(由父往子,由子往父)
SQLserver2008使用表达式递归查询语句 --由父项递归下级 with cte(id,parentid,text) as (--父项 select id,parentid,text from ...
- pig中变量
pig中的变量都是找到$变量然后替换,有点像宏,完全就是替换,看如下例子 %default m 'you';b = load 'a' as (a:chararray);c = foreach b ge ...
- /proc/cpuinfo
/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间. 它以文件系统的方式为访问系统内核数据的操作提供接口. 用户和应用程序可以通过 proc得到系统的信息,并可以改变内核的某些参数 ...