当然我是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'值...?谁能解释一下?
我在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) 看看下面的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确定的布尔值.我想分配如上所述的字符串"备注".但它始终只给出最后一个赋值(作为"未付费").有人解释为什么会这样吗?