c - 如何从用户扫描两个数组?

标签 c arrays loops user-input

我对编程比较陌生,我必须编写一个函数来读取用户的输入并填充两个数组,然后比较它们。我想我困惑的是如何读取两个数组。

这就是我应该做的

编写一个 table_diff 函数,比较两个整数数组并返回它们第一个不同位置的下标。如果数组相同,函数应返回 -1 ex:

345 和 345 --> -1(相同)

345 和 346 --> 2(索引 2 处不同)

1234 和 123 --> 3(索引 3 处不同)

这就是我所拥有的,感谢任何帮助!

while((r = scanf("%i", &value)) != 1 && ptra < endptra)
{
     *ptra ++ = value;                      

     if (r==1)
         printf("No room after reading values\n\n");
     else if(r != EOF)
         printf("invalid char");
}   

while((r = scanf("%i\n", &value))!= 1 && ptrb < endptrb){
    *ptrb ++ = value;

    if (r==1)
        printf("No room after reading values\n\n");       
    else if(r != EOF)
        printf("invalid char");                      
}

最佳答案

我认为您想将代码更改为以下内容:

while((r = scanf("%i", &value)) != 1 && ptra < endptra)
{
     *(ptra++) = value;                      

     if (r==1)
         printf("No room after reading values\n\n");
     else if(r != EOF)
         printf("invalid char");
}   

while((r = scanf("%i\n", &value))!= 1 && ptrb < endptrb){
    *(ptrb++) = value;

    if (r==1)
        printf("No room after reading values\n\n");       
    else if(r != EOF)
        printf("invalid char");                      
}

* 运算符的优先级高于 ++

关于c - 如何从用户扫描两个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/282667/

相关文章:

C# 相当于 C const char**

c - 回调的成本如何?

php - 在 2 个不同的位置拆分/分解 PHP 字符串

JavaScript 按年龄组对数组进行分组并查找最大日期

arrays - 使用 VBA 使用简单命令从非连续范围的并集获取值到数组中(无循环)

java - do while 循环在我不希望它循环时循环

c++ - 所有 OpenGL 纹理调用中使用的 "level"参数到底是什么?

c - 以 0x8 和 0xC 开头的 HRESULT 错误代码有什么区别?

c++ - 遍历文件的每一行

c - 嵌套循环并创建模式