我希望当条件“index >= maxlength”时,while循环结束。
问题在于它只显示“请输入一个字符串”。用户输入一个字符串,点击“Enter”后,它就停留在下一行。while循环之后的任何代码都不会被执行。
如果我没有"index >=maxlength"这个条件,代码就能正常工作。
问题在于它只显示“请输入一个字符串”。用户输入一个字符串,点击“Enter”后,它就停留在下一行。while循环之后的任何代码都不会被执行。
Please Enter a String: *ddddddddddd*
|
如果我没有"index >=maxlength"这个条件,代码就能正常工作。
public static int getaline( char message[], int maxlength ) {
int index = 0;
int character = 0;
maxlength = 5;
System.out.print("Please enter a string: ");
character = fgetc(System.in);
while (character != '\n' || index >=maxlength){
message[index] = (char) character;
index++;
character = fgetc(System.in);
}
if (index >= maxlength){
System.out.println("Overflow");
}
System.out.println("The amount of elements in the array is" + index);
return 0;
}
fgetc
是什么作用? - Sotirios Delimanolis