海贼19-8班现场课
9262人加入学习
(1人评价)
C语言程序设计(海贼现场课)
价格 ¥ 600.00
该课程属于 海贼19-8班(C++高薪班) 请加入后再学习

①scanf("%[^\n]s") 输入的内容除了^(非号)后面的东西以外的全部读入 本条是指除了回车以外的全部读入

②getchar()强行取出最后一个字符 ①中由于最后有回车 用getchar取掉回车

sprintf(str2,"%d",str) 读入str的值将其写入str2

④sprintf(str2,"(%d)",str)输出后为 (str)

sprintf(str2,"%d.%d.%d",&a,&b,&c)输出后为a.b.c   

所以说sprintf可以在%d处改变输出的格式 加括号加.

sprintf 可以用于字符串的输出

fprintf 可以用于字符串的输出

fprintf(abc,"%d",str)将str字符串输出到abc文件中

⑥stdin标准输入 stdout标准输出 stderr标准错误输出 可以输出bug结果

   

[展开全文]

 stdin:标准输入

stdout:标准输出

stderro:标准错误输出

 

当代码出bug了,stderr可以将标准输出和错误输出区分开来。

既然,标准输出,和标准错误输出,都可以重定向到文件中

那么如果,想看文件是否有bug,可以看,标准错误输出文件里面,是否有内容,这样就可以大大减少。。。的工作量。

 

不知道减少的是什么工作量;

似乎就是在编译的时候,如果有问题,就用标准错误输出,将文件写进标准错误输出文件里;

没有问题,就写进标准文件里;

这样,检查代码是否有问题,只需要看标准错误输出文件里有没有内容就可以了。

[展开全文]
#include <stdio.h>
int main() {
    int n, a, b, c;
    char str[100];
    FILE *fp = fopen("./null", "w");
    // scanf("%d", &n);
    while(~scanf("%d", &n)) {
        printf(" has %d digits\n", printf("%d", n));
        printf("%d\n", sprintf(str, "%d", n));
        printf("%s\n", str);
        printf("%d\n", fprintf(fp, "%d", n));
    }
    fclose(fp);
    return 0;
}
// int main() {
//     char str[100] ={"192.168.0.1"};
//     FILE *fp = fopen("./output", "w");//直接覆写
//     //FILE *fp = fopen("./output", "a+");//文件后面追加
//     fprintf(fp, "str = %s", str);
//     fclose(fp);
//     return 0;
// }

 

[展开全文]

^是异或运算,效果是找到跟这个字符不同的字符。原因遇到所有位都一样的话,计算结果是0,只要有一位不相同,那结果就非零。

 

Scanf是流式读取,每次缓存区还有数据/n 导致scanf 不断被中断调起,但里面的正则没去读buff所以下一次又被触发。

而加上getchar后,读取了这个buff,那么下次就不会触发scanf了。

[展开全文]

授课教师

C++算法工程师
高级算法研发工程师

课程特色

文档(9)
视频(50)
图文(22)
下载资料(3)