簡體   English   中英

使用 scanf 讀取 C 中的多個值

[英]Reading multiple values in C using scanf

還有另一個線程解釋了使用 scanf() 獲取多個值的方法。 我試過了,但是,我得到了第一個變量的正確值和其余兩個變量的垃圾值。 當我使用單獨的 scanf 語句時,它工作得很好。 我正在使用 RH Linux 5. Kernel 版本 - 2.6.18-238。 4.1.2

例如,如果我執行scanf("%d %d %d",&n,&p1,&p2) ,則 n 讀取良好。 但是 p1 被分配了 32767 並且 p2 被分配了另一個數字,即使在我讀取了這些值之后。 但是根據SO上的線程,它應該可以工作。 那么我做錯了什么?

你沒有說這三個變量是什么類型。 他們必須是int

以下代碼在我的計算機上按預期工作:

#include <stdio.h>

int main()
{
  int n, p1, p2;
  scanf("%d %d %d", &n, &p1, &p2);
  printf("%d %d %d\n", n, p1, p2);
  return 0;
}

這是 output:

$ gcc x.c
$ ./a.out 
10 3 5
10 3 5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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