作为初学者程序员,我正在处理与指针有关的一些简单问题.在下面的代码中,我发现十六进制的值*a和a相同.但我无法理解原因.
#include <stdio.h>
#include <stdlib.h>
main(){
int a[5][5];
a[0][0] = 1;
printf("*a=%p a=%p \n", *a, a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
*a=0x7ffddb8919f0 a=0x7ffddb8919f0
Run Code Online (Sandbox Code Playgroud) 我正在编写一个代码,在循环之间多次使用空格分隔的字符串输入.我看到它%[^\n]s在循环中没有工作但是%[^\n]%*c确实如此.我的问题是为什么%[^\n]s不起作用.这是我的代码:
#include<stdio.h>
main(){
while(1){
char str[10];
scanf("%[^\n]s",str);
printf("%s\n",str);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我在C中试验了指针的行为.我编写了以下程序:
#include <stdio.h>
main(){
int a = 1;
printf("%p\n", &&a);
}
Run Code Online (Sandbox Code Playgroud)
我知道这个程序会给出错误.因为地址的地址不明确,这将变得非常递归.但是当我尝试编译程序时,它给出了一个我无法理解的错误.
错误:标签'a'已使用但未定义
printf("%p \n",&& a);
它是什么意思label ‘a’ used but not defined?
在以下两个代码中,我无法理解这个问题.第一个代码是:
#include <stdio.h>
main() {
int num1, num2;
scanf("%d%d", &num1, &num2);
printf("I LOVE MY INDIA\n"); //here is '\n' after the statement
printf("%d", num1/num2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里,如果输入num1=2和num2=0然后在gcc编译的输出为:
我爱我的印度
浮点异常(核心倾倒)
但对于第二个代码:
#include <stdio.h>
main() {
int num1, num2;
scanf("%d%d", &num1, &num2);
printf("I LOVE MY INDIA"); //here is no '\n'
printf("%d", num1/num2);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
对于与之前相同的输入,显示:
浮点异常(核心转储)
在这两个代码之间只有一个区别.在第一个中有一个\n后面I LOVE MY INDIA和第二个代码中没有\n.请解释为什么I LOVE MY INDIA没有在第二个代码中显示.
我是摇摆和武装的新手.我在GUI中实现了Huffman Tree.但在我写的代码中,Ubuntu(JAVA 8)的输出很奇怪.有时它打印树(尽管偶然)有时候窗口仍然是空白的.paintComponent对于不同的运行,该函数被调用不同的时间.代码相同,没有用户输入,但对于不同的运行,结果是不同的.请运行代码至少5次,看看我说了什么.任何人都可以帮助我摆脱这个问题吗?
NB你可以直接跳到Huffman课堂上.
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.io.*;
import java.util.*;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Queue;
class Node implements Comparable<Node> {
private char ch;
private int freq;
private Node left, right;
private int x,y ;
Node(char ch, int freq, Node l, Node r) {
this.ch = ch;
this.freq = freq;
left = l;
right = r;
}
public boolean isLeaf(){
return (left == null) && (right == null);
}
public int compareTo(Node …Run Code Online (Sandbox Code Playgroud)