851850865 发表于 2021-4-12 17:05:50

能帮我看看错在哪里吗?

#include <stdio.h>
int main(void)
{
        int i_val1;
        i_val1 = 20;
        int i_val2;
        i_val2 = 30;
        int i_val3;
        printf("i_val1=%d\n,i_val2=%d\n,i_val3=%d\n", &i_val1, &i_val2, &i_val3);
        printf("Enter value of i_val3 =");
        scanf("%d", &i_val3);
        printf("%p,%p,%p\n", &i_val1, &i_val2, &i_val3);
        float f_val;
        i_val3 = i_val1 / i_val2;
        f_val = (float)i_val1 / i_val2;
        printf("i_val3=%d\n,f_val=%f\n", &i_val3, f_val);
        char c_val = 'Z';
        printf("Decimal(c_val)=%d\n,HexDecimal(c_val)=%x\n,Character(c_val)=%c\n", &c_val, &c_val, &c_val);
        return 0;
}

wp231957 发表于 2021-4-12 17:07:22

你得说一下你错在哪里啊

yuxijian2020 发表于 2021-4-12 17:10:08

printf除了打印%p其他一般是不用取址的   但是我不确定你到底想打印什么。。。。

851850865 发表于 2021-4-12 17:13:10

Declaration and use of variables
Declare three integer variables i_val1, i_val2, i_val3.

Initialize i_val1 to 20 and i_val2 to 30.

Print the values of i_val1, i_val2, and i_val3.

Enter a value of 20 in i_val3 using scanf.

Print the values of i_val1, i_val2, and i_val3.

Declare a real variable (float or double) f_val.

Store the result of i_val1 divided by i_val2 in i_val3.

Store the result of i_val1 divided by i_val2 in f_val.

Print i_val3 and f_val. What is the difference?

Declare the character variable c_val and initialize it to Z.

Print c_val as a decimal value, a hexadecimal value, or a character.

Gacy 发表于 2021-4-12 17:20:36

你这。。。

851850865 发表于 2021-4-12 17:21:38

Gacy 发表于 2021-4-12 17:20
你这。。。

变量的声明和使用
声明三个整数变量i_val1,i_val2,i_val3。

将i_val1初始化为20,将i_val2初始化为30。

打印i_val1,i_val2和i_val3的值。

使用scanf在i_val3中输入20。

打印i_val1,i_val2和i_val3的值。

声明一个实数变量(float或double)f_val。

将i_val1除以i_val2的结果存储在i_val3中。

将i_val1除以i_val2的结果存储在f_val中。

打印i_val3和f_val。 有什么区别?

声明字符变量c_val并将其初始化为Z。

将c_val打印为十进制值,十六进制值或字符。

肖-肖 发表于 2021-4-12 20:27:10

851850865 发表于 2021-4-12 17:21
变量的声明和使用
声明三个整数变量i_val1,i_val2,i_val3。



我帮你改好了->解释全在注释里,自己看吧,应该能看懂,挺详细的了
代码如下:

#include <stdio.h>
int main(void)
{
      int i_val1;
      i_val1 = 20;
      int i_val2;
      i_val2 = 30;
      int i_val3;
      //因为你是要打印i_val1,i_val2和i_val3的值-》所以不需要加&
      printf("i_val1=%d\ni_val2=%d\ni_val3=%d\n",i_val1,i_val2,i_val3);
      printf("Enter value of i_val3 =");
      //使用scanf在i_val3中输入20
      scanf("%d", &i_val3);
      //打印i_val1,i_val2和i_val3的值->同样输出打印值不需要加&,且是%d
      printf("%d,%d,%d\n", i_val1, i_val2, i_val3);
      //声明一个实数变量(float或double)f_val。
      float f_val;
      i_val3 = i_val1 / i_val2;
      f_val = (float)i_val1 / i_val2;
      //打印i_val3和f_val。 有什么区别?-->之所以有区别在于数据类型的不同-》一个是浮点型的,一个是整数型的
      printf("i_val3=%d\nf_val=%f\n",i_val3, f_val);
      //声明字符变量c_val并将其初始化为Z
      char c_val = 'Z';
      //将c_val打印为十进制值,十六进制值或字符
      printf("Decimal(c_val)=%d\nHexDecimal(c_val)=%x\nCharacter(c_val)=%c\n", c_val, c_val, c_val);
      return 0;
}

运行结果如下:

OK 希望 对你有用吧
页: [1]
查看完整版本: 能帮我看看错在哪里吗?