我是Java的新手,并尝试在Java中实现mergesort.但是,即使在多次运行程序之后,而不是所需的排序输出,我得到的输入作为输入的同一用户.如果有人能帮助我理解这种意想不到的行为,我将感激不尽.
import java.io.*;
import java.util.Arrays;
public class MergeSort {
public static void main(String[] args) throws IOException{
BufferedReader R = new BufferedReader(new InputStreamReader(System.in));
int arraySize = Integer.parseInt(R.readLine());
int[] inputArray = new int[arraySize];
for (int i = 0; i < arraySize; i++) {
inputArray[i] = Integer.parseInt(R.readLine());
}
mergeSort(inputArray);
for (int j = 0; j < inputArray.length; j++) {
System.out.println(inputArray[j]);
}
}
static void mergeSort(int[] A) {
if (A.length > 1) {
int q = A.length/2;
int[] leftArray = Arrays.copyOfRange(A, 0, q);
int[] …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行下面的代码,但是对于每次尝试我都会出现分段错误.这个问题似乎来自于令牌化中使用的strncpy函数.我对编程有点新意.请帮我调试代码.请帮忙:
/*
** Program to accept a binary IP address from the command line and
** if it is a valid IP address, show the user its dotted decimal form.
** Also tell the user, which class of IP address it belongs to
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
int validchk(char uarg[]);
int tokenize(char uarg[], char* uargv[]);
int toNum(char harr[], char iparr[]);
void shownum(char *iparr[]);
void classify(char uarg[]);
void usage();
void mystrncpy(char* arr, …Run Code Online (Sandbox Code Playgroud)