簡體   English   中英

如何打印變量 y 的值?

[英]How can I print the value of variable y?

我剛剛從 Python 切換到 C,我不明白為什么我不能像普通的 integer 那樣打印y 例如,如果當i=4sum的值大於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末尾的換行符,因此ysum的值在終端上連接:

// 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM