![](/img/trans.png)
[英]i have function which accepts the address,but i want to print value of the variable.. how can i do?
[英]How can I print the value of variable y?
我剛剛從 Python 切換到 C,我不明白為什么我不能像普通的 integer 那樣打印y
。 例如,如果當i=4
時sum
的值大於maxsum
,我也想將y
打印為 4。 我嘗試直接使用i
但無法打印正常值。
#include <stdio.h>
#include <stdlib.h>
int main() {
int maxsum = 0;
int list[15];
int initialindex[15];
for (int j = 0; j < 15; j++) {
list[j] = rand() % 300 - 150;
}
int sum = 0;
int count = 0;
int y = 0;
for (int i = 0; i < 15; i++) {
count += 1;
if (sum + list[i] <= 0) {
initialindex[i] = -1;
sum = 0;
} else if (i != 0 && initialindex[i - 1] != -1) {
initialindex[i] = initialindex[i - 1];
sum += list[i];
} else {
initialindex[i] = i;
sum = list[i];
}
if (sum > maxsum) {
maxsum = sum;
y = count - 1;
}
printf("Max is: %d and y is:%d", maxsum, y);
printf("%d\n", sum);
}
}
您的代碼工作正常,您只是忘記了第一個printf
末尾的換行符,因此y
和sum
的值在終端上連接:
// original
printf("Max is: %d and y is:%d",maxsum,y);
printf("%d\n",sum);
// corrected
printf("Max is: %d and y is:%d\n",maxsum,y);
printf("Sum is: %d\n",sum);
printf
沒有 output 額外的換行符,並且您沒有在y
之后打印空格或換行符,因此sum
的數字立即出現在y
的數字之后。
將代碼修改為:
printf("Max is: %d and y is: %d\n", maxsum, y);
printf("Sum is: %d\n", sum);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.