c - 如何将输入的电话号码存储到 int 数组中? C

标签 c arrays int scanf

我正在创建一个程序,它将输入的名称和数字存储到数据结构中。目前,我正在尝试制作一个简单的函数来获取输入(名称和数字)并将其插入到两个数组中。我的输入必须采用以下格式:名称编号。例如

John 07745234574

然后会将名称存储在字符数组中,将数字存储在 int 数组中。问题是它不在数字的开头打印 0,而是在打印时添加大量重复数字,然后是许多 0。

我的代码:

int main (void) {
char nme[20];
int nmbr[11];

printf("Enter:");
scanf("%s %d", nme, nmbr);

printf("\n%s ", nme);

int i;
for(i = 0; i<11; i++) {
    printf("%d", nmbr[i]);
    }
return 0;
}

我知道使用 %d 是行不通的,但我不知道另一种不使用循环的方法。另外,如果数字前面有一个加号,我将如何存储它,例如 +442962000292

最佳答案

char *nme;    
int* nmbr;

nmenmbr 是指针,您应该在向其写入内容之前分配一些内存。

也以字符串形式读取电话号码。

关于c - 如何将输入的电话号码存储到 int 数组中? C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27079589/

相关文章:

c - 定义函数的最大数量

c - 为什么我可以覆盖一 block 分配了 0 个空间的内存?

arrays - Swift 崩溃 : Array. _allocateBufferUninitialized

c# - 将数组的 2 个部分合并为 1

在运行时在 c 中创建某个结构

c++ - 静态类成员和开关

c - 正确编译后如何让我的 Makefile 发出声音?

c - C 中带数组的指针

java - 缺少返回语句 - int[]

c++ - 使用 C++ 中的嵌入式 Mongoose 服务器执行典型的服务器任务