首页 > 用户发贴区 > 编程问题提问区 > 新学C 请教大家 有空指点下 谢谢
2008
05-28

新学C 请教大家 有空指点下 谢谢

main()


{


  float a,b;


  a=6;


  b=5;


  a%=b;


  printf(“%f”,a);


}    


它说我非法使用浮点运算   我实在看不出来哪里非法    知道的有空说下    谢谢“


还有scanf(“%d”,&a)和a=getchar()是不是可以替换的啊     ?


新学C 请教大家 有空指点下 谢谢》有 5 条评论

  1. redmay1986 说:

    a%=b;
    因为%最后的结果是整型的,最后的值应该赋给整变,但a定义的是float。我做了一下强制转换。

    我不太确定的是%两边是不是非要是两个int变量进行运算。

    你再斟酌斟酌,知道后发个贴告诉我,呵呵!~相互学习啊!~

    main()
    {
     int c;
     float a,b;
     a=6;
     b=5;
     c=(int)a%(int)b
     printf(“%d”,c);
    }    

     

  2. amels 说:

    scanf(“%d”,&a)读入的是整型变量

    a=getchar()读入的是字符型变量,相当于scanf(“%c”,&a)

  3. anDonE 说:

    [QUOTE=amels]

    scanf(“%d”,&a)读入的是整型变量

    a=getchar()读入的是字符型变量,相当于scanf(“%c”,&a)

    [/QUOTE]
    NO!NO!getchar()会接收换行符,scanf()不管参数是什么,都不会接收。

  4. 青铜骑士 说:

    %是整型运算符

  5. crabeam 说:

    a,b为整型 可你定义为 浮点型

     

    main()

    {

      int a,b;
      float c;         /*定义c为浮点型*/
      a=6;
      b=5;
      c=a%b;
      printf(“%f”,c);
    }  

    ————————————————  

    #include “stdio.h”
    void main()
    {
      char a,t;
      t=getchar();
      putchar(t);
    }   

    ——————————————————

    #include “stdio.h”
    void main()
    {
      char a,t;
      t=getch();
      putchar(t);

留下一个回复