【问题标题】:Writing / Reading Value to an Array in C在 C 中向数组写入/读取值
【发布时间】:2009-11-02 11:39:04
【问题描述】:

我一定要疯了。这非常简单,所以我显然忽略了一些东西:

这是我的代码:


int salesarray[20];    
scanf("%d",&sales_input);    
printf("sales_input is %d",sales_input);    
salesarray[i] = sales_input;    
printf("salesValue is %d",i,salesarray[i]);

这是我将看到的:

sales_input 是 2salesValue 是 1

谁能解释为什么我的数组没有正确更新? salesValue 应该更改为值 2。或者我在这里读错了......

【问题讨论】:

  • 第二个 printf 中的 %d 打印的是 i 的值,而不是 salesarray[i]。
  • 对不起大家——我在这里弄糊涂了,因为它太晚了。每个人都是对的——我应该只使用 printf("text",salesarray[i]);我从以前的项目中复制了我自己的代码然后没有仔细检查它是我的错。

标签: c arrays printf


【解决方案1】:

解决这个问题:

printf("salesValue is %d",i,salesarray[i]);

不应该吗?

printf("salesValue is %d", salesarray[i]);

【讨论】:

  • 这有什么问题?抱歉,现在是凌晨 3:36,我一定没有看到这里的东西。
  • @BSchlinker,你想输出 i 还是 salesarray[i] ?
【解决方案2】:
printf("salesValue is %d",i,salesarray[i]);

缺少 %d(您根本没有打印 salesarray 值):

printf("salesValue is %d %d",i,salesarray[i]);

尝试使用 -Wall -Werror 编译以将警告变为错误。 -Werror 会从一开始就向您展示问题

【讨论】:

    【解决方案3】:

    您要打印i 还是salesarray[i]
    您在 printf "格式字符串" 中只有一个 %d ...

    printf("salesValue is %d",i,salesarray[i]);
    /*                        ^ ^^^^^^^^^^^^^ */
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      • 2020-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多