zoukankan      html  css  js  c++  java
  • C笔记

    1、用scanf,fscanf,fprintf特别要注意格式化的问题,不恰当使用会导致异常:

    在连续录入或读取多个字符串时, scanf、fscanf,整形必须用%d,浮点要用%f,字符型用%s(若用%c格式输入字符时,空格字符和“转义字符”都作为有效字符输入)

    fprintf:char字符型用%c 整形用%d;  

      //%d%s%s char字符类型要用%s,整形用%d    

    scanf("%d%s%s",&eTemp.sId,eTemp.sName,&eTemp.sSex);    

    //char字符型用%c 整形用%d    

    fprintf(pFile,"%d\t%s\t%c\n",eTemp.sId,eTemp.sName,eTemp.sSex);

     int i = fscanf(pFile,"%d%s%s",&eTemp.sId,eTemp.sName,&eTemp.sSex);    if(i == -1) break;    printf("%d\t%s\t%c\n",eTemp.sId,eTemp.sName,eTemp.sSex);

    fscanf:最好获取其返回值,判断是否为取得的field数量,否则退出break;

    i = fscanf(pUser,"%s%s%s",telNo,userName,passWord);    if(i!=3) break;

    fread(buffer,size,count,fp) 与fwrite(buffer,size,count,fp):

    size为读取的每个数据项的字节数,返回值为输入或输出数据项的个数,即count,可通过返回值判断是否读取成功,否则break;

    fread:

    最好获取其返回值,判断是否为0,为0则退出循环break;

    或者判断其返回值是否为count; if(fread(buffer,size,count,fp) != 1) break; if(returnValue == 0) break;

    全局变量会自动分配值,如int为0,char为'' 如下,union放在函数里(局部变量)和放在函数外(全局变量)是不一样的,

    函数体外:i=0,字符串为“”,而函数体内:

    cccc int main()

    {

     union

    {

    int i;

    char x[2];

    }a;

    a.x[0] = 10;

    a.x[1] = 1;

    printf("%d",a.i);

    二维数组初始化时,自动将未赋值的设置为0

    printf("%d%d",a++,++a):printf中的执行顺序是从右至左!

  • 相关阅读:
    内存与缓存认识
    翻转字符串里的单词
    c++ STD Gems07
    C++ STD Gems06
    C++ STD Gems05
    Silverlight RIA Services基础专题
    超漂亮的WPF界面框架(Modern UI for WPF)
    实验三——阶乘
    实验二
    实验一 Java环境的搭建&Eclipse的安装
  • 原文地址:https://www.cnblogs.com/jiese/p/2562915.html
Copyright © 2011-2022 走看看