我的笔记

1。关于switch。 switch后的左{后虽可以定义语句,但是永远不会执行
#include<iostream>
using namespace std;
int main()
{

 int i=10,j=1;
 switch(i)
 {
  j=30;         //这个语句不会执行
  case 10: cout<<j;
 };
 return 0;
}
2。static在函数内部表示该变量在各个调用间一直保持延续性
             在函数这一级表示该函数只对本文件可见
3.输出16进制和8进制形式的数
#include <stdio.h>
int main(void)
{
   int x = 100;
   printf("dec = %d; octal = %o; hex = %x/n", x, x, x);
   printf("dec = %d; octal = %#o; hex = %#x/n", x, x, x);
   return 0;
}


Compiling and running this program produces this output:

dec = 100; octal = 144; hex = 0x64
dec = 100; octal = 0144; hex = 0x64


4./的使用
#include <stdio.h> int main(void) { printf("Here's one way to print a "); printf("long string./n"); printf("Here's another way to print a / long string./n"); printf("Here's the newest way to print a " "long string./n"); /* ANSI C */ return 0; }

Here is the output:

Here's one way to print a long string.
Here's another way to print a long string.
Here's the newest way to print a long string.
5。关于scanf(“%d“,&ia);
scanf函数试图接受第一个非空格且换行浮或'+','-'符号,保存到 ia中,但是如果输入的不是数字型
的话,比如:a 就会把a放回输入流中。那么ia的值随机
6.去除字符数组开头结尾的空格(使用scanf函数)
#include <stdio.h>
int main()
{
 char s[]="   abc    ";
 char s1[40];
 sscanf(s,"%s",s1);
 
 printf("%send/n",s1);
 
 return  0;
}
7.字符串常量
char* str1 = “Hello“; 
char* str2 = “Hello“; 
*str1 = ‘P‘; 
cout << str2 << endl; 

“猜猜运行结果是什么?”,Solmyr 一边调整工程设置,一边问道。

“这还用问吗?当然是输出 Hello 了。”

“回答错误,正确答案是 ……”,Solmyr 按下了运行按钮,屏幕显示的居然是 Pello !。

zero 大为诧异,挠着头试图找出其中的逻辑,突然间灵光一闪:“我明白了!str1 和 str2

实际指向同一段内存!因为 C/C++ 语言在处理 Hello 字符串的时候把它当作常量,

所以就做了优化,只保存了一份 Hello !是不是这样!”zero 兴奋的转向 Solmyr。

“嗯,看起来有时候你也不是那么菜么”,Solmyr 赞许的点头,“不过你还是说错了一点:

这个不是 C/C++ 语言的做法,是这个编译器的做法。简单的说,你如果要对这种字符串写的话,

其结果如何,是没有定义的。所谓没有定义,就是 C/C++ 语言不保证会得到怎样的结果,

可能这样也可能样,完全决定于你的编译器作者怎么想。想想看吧,哪天你的程序出现了

古怪的问题 —— 比如显示信息出现了混乱 —— 起因却是你在无关的地方写了一个字符串,

会怎样?这是维护时最大的恶梦之一。现在你明白危害在哪里了?”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值