文章标题

读C程序设计语言第二章注意

1、sqrt()函数的参数是double类型的,不是double有可能会出错。要强制转换下:
sqrt((double) n);
2、数组中变量表示下标用到自增或者自减一般情况下都是:

str[i++]而不是str[++i];

因为i++可保证变量的一致性,是先使用i的值再++。
其余的情况下基本都一样,因为一般是i++;这一句结束,结束的时候值都会增加1的。

**分割线————————————————————-

不知不觉已经进入第三章了,没有详细的记叙,但是也已经完成了。

第三章需要注意的:

1、switch:
每个分支一个break;
格式:
while((c=getchar())!=EOF){
switch(c){
case‘0’:
case‘1’:
。。。。
default:
}
}
练习2-3代码:

//注意一:输入字符串的fgets可以存储换行和制表符
//注意二:打印'\'必须要写成'\\'形式才能打印输出
//关于注意二见本书P3和P29
![完整的转义字符序列]

(http://img.blog.youkuaiyun.com/20160420104427418)

#define _CRT_SECURE_NO_DEPRECATE
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void escape(char s[], char t[]);

int main()
{
    char s[1000], t[1000],d;
    //while (gets(t) != EOF)
    //{
    fgets(t, 1000, stdin);
    fflush(stdin);
    escape(s, t);
    system("pause");
    return 0;
}
void escape(char s[1000],char t[])
{
    int len2 = strlen(t);
    char c,d;
    for (int j = 0; j < len2; j++)
    {
        c = t[j];
        switch (c)
        {
        case '\n' :
            s[j] = '\\' ;
            s[j + 1] = 'n';
            len2++;
            j++;
            break;
        case '\t':
            s[j] = '\\';
            s[j + 1] = 't';
            len2++;
            j++;
            break;
        default:
            d = t[j];
            s[j] = d;
            break;
        }
    }
    for (int i = 0; i < len2; i++)
    {
     printf("%c", s[i]);
    }
}

2、for和while
1、格式:
for(i=0 , j=strlen(s)-1 ; i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值