c - 在 c 中插入数组时出错,因为它显示插入的八进制值
问题描述
如何将值 09 添加到数组中,因为它无法插入,因为它显示该值是八进制值并且无法插入,那么我们如何将它插入到数组中是否有任何方法..
#include<stdio.h>
#include<stdlib.h>
void prin(int day, int year) {
int data[3];
data[0] = day;
data[1] = 09;
data[2] = year;
printf("%d.%d.%d",data[0],data[1], data[2]);
}
void check(int year) {
int day;
if (1700 <= year && year <= 1917) {
if (year % 4 == 0) {
//printf("The year is leap year");
day = 12;
prin(day, year);
}
else {
day = 13;
prin(day, year);
}
}
else {
//printf("REached");
if(year % 400 == 0 || (year % 4 == 0 && year % 100 == 0)) {
//printf("Year is not leap");
day = 13;
prin(day, year);
}
else {
day = 12;
prin(day, year);
}
}
}
int main(void) {
int year;
//printf("Enter the value of the year");
scanf("%d",&year);
check(year);
return 0;
}
错误如下:
Day_of_programmer.c: In function 'prin':
Day_of_programmer.c:7:15: error: invalid digit "9" in octal constant
7 | data[1] = 09;
| ^~
解决方案
这是问题所在:
data[1] = 09;
前导0
告诉编译器它应该期望一个八进制常量,它只包含0
通过7
. 只需摆脱领先0
:
data[1] = 9;
然后编译器会将其视为普通的十进制值。
推荐阅读
- python-3.x - miniconda 解决环境:ubuntu 失败
- sql - SQL 视图 - 获取单价、默认价格和客户价格
- recursion - 这两个定义是相同的还是不同的
- javascript - 使用 CDN 与 NPM/Yarn 进行依赖的优缺点是什么?
- regex - 如何在 PostgreSQL 中提取数字后跟特定字符串?
- firebase - firebase auth 需要关于 twitter 的什么样的许可?(读,读,写,...)
- sql - 在缺少记录的 SQLite 中进行透视
- javascript - Typescript - 手动刷新文本区域
- html - 如何实现在同一行上拥有三个 33.333% 宽度的 DIV 元素,同时在第一个和第二个上拥有 10px 的边距?
- c++ - 根据平台目标修改 OriginalFilename 字符串