为什么执行不了

#include <stdio.h>

int main()

{

    double num = 2.5;     

     int num=(int)num;

    printf("num%d\n", num);  

    return 0;

}


咩咩爱编程
浏览 2169回答 6
6回答

_潇潇暮雨

变量num被重复定义了,另外格式化字符串里面应该写成:"%d\n",完整代码:#include <stdio.h> int main() {     double num = 2.5;           int a=(int)num;    //另外取一个变量名     printf("%d\n", a);       return 0; }

栩栩秋水

我当初有这个疑惑,但是看例题就明白了,你这里改成“int num1 = (int)num”就可以啦,原理是新的变量的形式(int)不会和旧的(double)占用同一个变量名而发生矛盾。

西伦

double了就不能再int了

Eve03

   int num=(int)num; 中出现了错误,num本来是一个double型的变量(名称),然而“int num”的意思是再定义一个 int型的变量名num 。变量名重复。你要把double型转换为int型的话,直接printf("%d\n",(int)num);就好了。

lili5464645

#include <stdio.h>int main(){    double num = 2.5;          int num1;     num1=(int)num;    printf("num%d\n", num1);      return 0;}

DD_cc

除了上面说的重复定义,还有printf("num=%d\n",num);你少了=号
打开App,查看更多内容
随时随地看视频慕课网APP