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之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》
一.照片采集的实用概念 根据照片进行三维重建的过程中,有人没怎么遇到坑,有人被坑的不轻.可能是模型的纹理失真,模型的法线错了,模型会生成我们各种也想不到的结果,那么,是什么导致三维重建效果这么差的?是 ...
随机推荐
- 关于scrollview监听的一些方法
一 package cn.testscrollview; import android.os.Bundle; import android.view.MotionEvent; import andro ...
- java数据结构之列表——ArrayList,LinkedList,比较
刚看完<数据结构与算法分析java语言描述>的第3章中的表,下面回忆下主要知识点,主要说明各列表之间的关系,以及各自的优缺点.其中牵涉到内部类和嵌套类. 1 Collection APIp ...
- Android开发-API指南-Android简介
Introduction to Android 英文原文:http://developer.android.com/intl/zh-cn/guide/index.html 采集日期:2014-4-16 ...
- 求编译器中数的最值(c++)
#include <limits> //头文件 #include <iostream> using namespace std; int main() { cout <& ...
- js鼠标,键盘,坐标轴事件
鼠标按下事件,左键是0,滑轮是1,右键2 document.getElementById("box").onmousedown =function(e) { if (e.butto ...
- swing 复选框
通过 box1 和 box2的 public boolean isSelected()的方法 返回按钮的状态. 如果选定了切换按钮,则返回 true,否则返回 false.
- cordova local notification plugin
cordova plugin add org.apache.cordova.device cordova plugin add https://github.com/katzer/cordova-pl ...
- iOS开发中view controller设置问题
- std::cout彩色输出
Mac OS效果 Windows 效果 想写这个东西其实是因为最近要写个命令行的工具,但是有个问题是什么呢?就是传统的那个黑漆漆的窗口看起来很蛋疼.并且完全看不到重点,于是就想起 来这么一个东西.相对 ...
- iOS键盘类型
一.键盘风格 UIKit框架支持8种风格键盘. typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboa ...