使用isdigit和isalpha设置char数组彼此相等

时间:2018-05-02 03:36:53

标签: c++ c arrays

我试图将char数组设置为等于2个其他数组,具体取决于第一个数组中的元素是数字还是字母。代码对我来说具有逻辑意义,但for循环后2个其他字符串的输出与逻辑不对应。是因为在其他2个循环中某处缺少空值还是代码本身无效? arrayAlpha,arrayNum和palind都是char数组,设置为30个元素的长度,而字符串长度在for循环开始之前已经确定。

<?php include 'database.php';
include 'session.php'; 
?>


<?php

echo $_SESSION['PenggunanoKP'];
?>
/*html code

1 个答案:

答案 0 :(得分:1)

鉴于输入:

char palind[30] = "12345abcde";
  • arrayAlpha是垃圾。

  • arrayNum"12345"

然而,

char palind[30] = "abcde12345";
  • arrayAlpha"abcde"
  • arrayNum是垃圾。

因此,[k]arrayNumarrayAlpha中使用0时出现的问题是arrayAlpha[k - strlen(arrayNum)] = palind[k]; arrayNum[k - strlen(arrayAlpha)] = palind[k];

简单的改变只会减去另一个的长度。

lengthOfPalind = lengthOfArrayAlpha + lengthOfArrayNum

因为palind假设peewee.Model只包含字母或数字。