小编Mah*_*ran的帖子

为什么字符数组在Java中接受整数值?

当然我是Java的初学者,之前我学过C.请看看下面的代码段.

char Character;
int Number = 27;
Character = Number;
System.out.println(Character);
Run Code Online (Sandbox Code Playgroud)

上述代码无法编译为"信息丢失"的错误

以下代码......

char Character = ‘F’;
int Number;
Number = Character;
System.out.println(Number);`
Run Code Online (Sandbox Code Playgroud)

上面的代码可以编译,但输出是"70"......而不是"F"

另请查看以下代码......

char [] arrayCh = new char [3];
arrayCh [0] = 27;
System.out.println(arrayCh[0]);
Run Code Online (Sandbox Code Playgroud)

上面的代码可以编译,但它也给出了一个不熟悉的符号......

我知道有关ASCII值的问题和作为'char'的内存需要16位,'int'需要32位.因此,无法将整数值分配给字符变量,而可以将字符值分配给整数变量作为"ASCII"值.

我的问题是......为什么'char'数组接受'int'值...?谁能解释一下?

java arrays

2
推荐指数
1
解决办法
435
查看次数

递归打印链接列表时出现分段错误

我在C中编写了一个链表(使用gcc编译器),并试图以递归方式打印它.它告诉"分段错误",并且还仅打印第一个值.任何人都可以提出纠正它的选项..?这是我的代码.

#define MAX 10
#include <stdio.h>
#include <stdlib.h>
struct node {
    int value;
    struct node *next;
};

void printRecursively(struct node *start) {
    if (start != NULL) {
        printf("%d\n", start->value);
        start = start->next;
        printRecursively(start);
    }
}

void main() {
    struct node *nodes[MAX];
    for (int i = 0; i < MAX; i++) {
        nodes[i] = malloc(sizeof(struct node));
        nodes[i]->value = i + 1;
        nodes[i]->next = nodes[i + 1];
    }
    printRecursively(nodes[0]);
}
Run Code Online (Sandbox Code Playgroud)

c recursion pointers linked-list singly-linked-list

1
推荐指数
1
解决办法
235
查看次数

关于Java中"if语句"的问题

看看下面的java代码.

String Remark="";
boolean Paid, PartiallyPaid, NotPaid;
if(Paid=true) {Remark="Paid";}
if(PartiallyPaid=true) {Remark="Partially Paid";}
if(NotPaid=true)  {Remark="Not Paid";}
Run Code Online (Sandbox Code Playgroud)

这里是RadioButtons确定的布尔值.我想分配如上所述的字符串"备注".但它始终只给出最后一个赋值(作为"未付费").有人解释为什么会这样吗?

java if-statement

0
推荐指数
1
解决办法
67
查看次数