#include<stdio.h>
int main(){
int hang,lie,arr[hang][lie];
scanf("%d %d",&hang,&lie);
for(int i = 0;i < hang;i++){
for(int j = 0;j < lie;j++){
scanf("%d",&arr[i][j]);
}
}
int max[3] = {0};
for(int i = 0;i < hang;i++){
for(int j = 0;j < lie;j++){
if(arr[i][j] > max){
max[0] = arr[i][j];
max[1] = i;
max[2] = j;
}
}
}
printf("%d %d",max[1],max[2]);
return 0;
}
return value 很大的数,中间执行异常了
arr[i][j]>max 异常,max是数组,要使用下标访问其中一个值
arr数组定义这里有问题,数组定义不能是hang和lie这样的位置参数~将这里改成arr[100][100]试下!
从代码可以看出,你的printf语句在return 0;之后,所以main函数执行结束后不会执行printf语句,导致看不到打印结果。
可以把printf语句移到return 0;之前,这样main函数执行结束前会先执行printf语句,打印出结果。
修改后的代码:
c
#include<stdio.h>
int main(){
int hang,lie,arr[hang][lie];
scanf("%d %d",&hang,&lie);
for(int i = 0;i < hang;i++){
for(int j = 0;j < lie;j++){
scanf("%d",&arr[i][j]);
}
}
int max[3] = {0};
for(int i = 0;i < hang;i++){
for(int j = 0;j < lie;j++){
if(arr[i][j] > max){
max[0] = arr[i][j];
max[1] = i;
max[2] = j;
}
}
}
printf("%d %d",max[1],max[2]);
return 0;
}
这样就可以在main函数结束前打印出结果了。
在这里我们只需要先创建一个整形变量int num1 = 10;
和一个浮点型变量double num2;
输出格式 | 释义 |
---|---|
printf("%d", num1); | %d 是以十进制的方式进行输出。 |
printf("%o", num1); | %o 是以八进制的方式进行输出。 |
printf("%x", num1); | %x 是以十六进制的方式进行输出。 |
printf("%u", num1); | %u 是将符号位默认为数值方式进行输出。 |
printf("%f", num2); | %f 是以浮点数的方式进行输出。 |
问题分析:
根据参考资料中的说明,printf函数输出字符需要引用头文件,并使用正确的输出格式,可以是直接输出字符串、输出字符串变量,或者使用标准输出格式输出字符串。因此,无法输出printf结果的问题极有可能与这些因素有关。
解决方案:
printf函数需要使用头文件中的定义,如果未包含该头文件则会无法使用printf函数输出结果。因此,在程序中需要确保包含该头文件。
示例代码:
#include <stdio.h>
int main() {
printf("Hello world!");
}
printf函数有多种输出格式,包括直接输出字符串、输出字符串变量,以及标准输出格式输出字符串等。在使用printf函数输出结果时,需要根据具体情况选择正确的输出格式。如果使用了错误的输出格式,可能会导致输出不正确或无法输出结果。
示例代码:
#include <stdio.h>
int main() {
char str[] = "hello world!";
printf("%s", str); // 标准输出格式
}
如果程序执行到printf语句之前就出现了问题,那么就无法输出printf的结果。因此,需要确定程序是否执行到了printf语句,如果程序没有执行到printf语句,就需要查找程序中其他可能导致程序无法执行到printf语句的问题。
示例代码:
#include <stdio.h>
int main() {
printf("Hello");
printf("world!"); // 确认程序能够执行到该语句
}
如果程序的输出窗口未打开,则无法看到printf函数输出的结果。因此,需要确保程序的输出窗口已经打开。
示例代码:
#include <stdio.h>
void openConsoleWindow() {
SetConsoleTitle(L"Hello world!"); // 打开控制台窗口并设置标题
}
int main() {
openConsoleWindow();
printf("Hello world!"); // 确认程序输出窗口已打开
}
在程序输出结果时,需要选择合适的位置进行输出。如果输出结果的位置不正确,就可能会导致无法看到输出结果。因此,需要确认输出结果的位置是否正确。在不同的编程环境下,输出结果的位置也可能不同,需要根据具体情况进行调整。
示例代码:
#include <stdio.h>
int main() {
printf("Hello world!\n"); // 输出到屏幕
FILE *fp = fopen("output.txt", "w"); // 输出到文件
fprintf(fp, "Hello world!");
fclose(fp);
}
综上所述,无法输出printf结果的问题可能与包含头文件、输出格式、程序执行位置、输出窗口等多种因素有关。在解决该问题时,需要对这些因素进行逐一排除,确定问题出在哪里,并进行针对性的调整。