c語言scanf

c語言scanf

平臺用戶的互動中精選與c語言scanf相關的:1、C語言輸入時,scanf("%d",&a); 中 “&” 是什么意思? 2、C語言中scanf到底是怎樣的功能??? 3、c語言中scanf有什么作用? 4、c語言中scanf("%d%*c", &n);是什么意思 5、C語言中的Scanf的用法 6、c語言scanf中*的用法 7、C語言while(scanf("%x",a+i++)) 8、c語言中scanf("%d",a)和scanf(%d",&a)在printf("%d",a)中到底有什么區別 9、求c語言中各個語句如int,float,scanf的用法和區別? 10、c語言scanf的用法
c語言scanf
平臺用戶 2018-06-06 16:50:37

下面是精選平臺用戶互動時的最佳討論

gr459933
gr459933


gr459933:C語言輸入時,scanf("%d",&a); 中 “&” 是什么意思?

下面的解答已被8026人點贊
取指,即取得a的地址。

scanf要求,其后的變量為指針類型。

你這里一定定義了int a;

如果直接定義的是指針,就不用加&
最后一次編輯時間 推薦于2017-09-30 16:13:47
無月神明
無月神明


無月神明:C語言中scanf到底是怎樣的功能???

scanf ("%d",&i); 1,我沒有設置回車結束,但似乎它默認回車結束輸入 2,我輸入88,然后空格,再輸入99,結果printf是88. 99沒了?它內部是怎樣的處理規則? 3,我先空格空格,再輸入88. 結果成功輸出。它似乎又能繞過空格?? 它到底是按照... scanf ("%d",&i);
1,我沒有設置回車結束,但似乎它默認回車結束輸入

2,我輸入88,然后空格,再輸入99,結果printf是88. 99沒了?它內部是怎樣的處理規則?

3,我先空格空格,再輸入88. 結果成功輸出。它似乎又能繞過空格??

它到底是按照怎樣的順序規則進行操作的?
下面的解答已被5476人點贊
scanf ("%d",&i);
它能跳過非打印字符如空格、Tab、回車符,只能讀取一個整數。所以99就未被讀。ǹ梢粤舸乱淮巫x。。
最后一次編輯時間 推薦于2017-08-29 19:53:28
蔣介石豬
蔣介石豬


蔣介石豬:c語言中scanf有什么作用?

下面的解答已被7781人點贊

C語言中scanf是標準庫函數,主要用來接收用戶輸入的數據。


函數格式:int scanf(char *format, args, ...);

功       能:從標準輸入設備按format指定格式輸入數據給args所指向的內存單元

返  回 值 :讀入并賦給args的數據個數。遇文件結束返回EOF,出錯返回0


舉例如下:

int a;
scanf("%d", &a);  // 按%d的格式(即整型的格式),將用戶輸入的數據賦值給&a指向的內存單元(即變量a所在的內存單元)。
// 簡單理解就是將用戶輸入的數轉換為int類型并賦值給變量a

最后一次編輯時間 推薦于2017-09-10 20:59:35
匿名
匿名


匿名:c語言中scanf("%d%*c", &n);是什么意思

急急急~!
下面的解答已被4964人點贊
格式字符串的一般形式為:
%[*][輸入數據寬度][長度]類型
其中有方括號[]的項為任選項

“*”符:用以表示該輸入項,讀入后不賦予相應的變量,即跳過該輸入值。
如:
scanf("%d %*d %d",&a,&b);
當輸入為:1 2 3時,把1賦予a,2被跳過,3賦予b。

%*c作用時讀取輸入流中數字后的一個字符,并丟棄,使得后面的輸入函數不能讀到那個字符

跳過一個字符

舉個例子
#include "stdio.h"
int main(){
int a, b;
scanf("%d%*c%d", &a, &b);
printf("%d %d\n", a, b);
return 0;
}
你輸入1n2,那么scanf把1讀取賦給變量a,如果跳過一個char(這里是 ‘n’)接著讀取2賦給變量b
最后一次編輯時間 推薦于2017-09-03 21:36:23
dengtao250
dengtao250


dengtao250:C語言中的Scanf的用法

#include <stdio.h> int main() { int a, b, c; scanf("%d,%d", &a, &b); c = a + b; /*計算a+b*/ printf("%d + %d = %d", a, b, c); return 0; } 此函數scanf中為什么要去 a b的地址符號 可不可以不取地址符號 謝謝 scanf到... #include <stdio.h>

int main()

{

int a, b, c;

scanf("%d,%d", &a, &b);

c = a + b; /*計算a+b*/

printf("%d + %d = %d", a, b, c);

return 0;

}
此函數scanf中為什么要去 a b的地址符號 可不可以不取地址符號 謝謝 scanf到底有什么特別之處呢
下面的解答已被2246人點贊

首先需要#include <stdio.h>int scanf( const char *format, ... );scanf()函數是格式化輸入函數,它從標準輸入設備(鍵盤) 讀取輸入的信息。 

第一個參數format為一個常量字符串,這個字符串中如果包含‘%’符號則使用后續參數進行匹配
如:scanf("%d%d", &a, &b);

1.轉換字符(就是%后跟的部分)   a 讀浮點值(僅適用于 C99), A 讀浮點值(僅適用于 C99),   c 讀單字符,d 讀十進制整數,  i 讀十進制、八進制、十六進制整數 。  

2.附加格式說明字符表修飾符說明:L/l 長度修飾符 輸入"長"數據,   h 長度修飾符 輸入"短"數據,   W 整型常數 指定輸入數據所占寬度,表示本輸入項在讀入后不賦值給相應的變量。

最后一次編輯時間 2018-05-10
傻傻_Smile
傻傻_Smile


傻傻_Smile:c語言scanf中*的用法

#include<stdio.h> int main(void) { int n; printf("please enter three integers: \n"); scanf("%*d %*d %d*,&n); printf("the last integer was %d\n",n); return 0; } F:\CC\c5.cpp(6) : error C2001: newline in constant F:\CC\c5.cpp(7) : e... #include<stdio.h>
int main(void)
{
int n;
printf("please enter three integers: \n");
scanf("%*d %*d %d*,&n);
printf("the last integer was %d\n",n);
return 0;
}
F:\CC\c5.cpp(6) : error C2001: newline in constant
F:\CC\c5.cpp(7) : error C2146: syntax error : missing ')' before identifier 'printf'
按書上的例子來的,不知道錯在哪
下面的解答已被4249人點贊
只要輸入一個參數,改成scanf("%d", &n);就可以了
最后一次編輯時間 推薦于2018-04-13 20:20:36
飄飄渺渺夢逍遙
飄飄渺渺夢逍遙


飄飄渺渺夢逍遙:C語言while(scanf("%x",a+i++))

求解while(scanf("%x",a+i++))這個代碼怎么計算的
下面的解答已被6432人點贊
這必須結合前文才能解釋的啊。
int a[100],i=0;
while(scanf("%x",a+i++));
這是以16進制形式,從鍵盤讀取數據到a數組中。第一個數讀到a[0]中,第二個數讀到a[1]中,……,直到輸入CTRL+D回車時結束。
最后一次編輯時間 推薦于2017-10-18 08:38:41
地中海的風暴
地中海的風暴


地中海的風暴:c語言中scanf("%d",a)和scanf(%d",&a)在printf("%d",a)中到底有什么區別

下面的解答已被7534人點贊
&是取地址的意思 &a 是取出變量a的地址
scanf(%d",&a) 就是讀取1個數字 寫入a的地址

scanf("%d",a) 是讀取1個數字 寫入地址a 這個a如果是100 就寫到地址100 如果是200 就寫到地址200 顯然 這很危險 萬一a的存儲的值剛剛好是一些指令的地址什么的 會寫到這個地址修改指令 就運行不下去了 出大錯

printf("%d",a) 就沒什么了 把變量a的存儲的值輸出
然后 &是取地址 所以你可以
printf("%d",&a) 這樣是輸出a的地址
最后一次編輯時間 推薦于2018-02-26 12:58:42
lewlew055
lewlew055


lewlew055:求c語言中各個語句如int,float,scanf的用法和區別?

下面的解答已被6432人點贊
int 是定義整形的數據
float是定義單精度實數(想當于是小數)
scanf就是輸入函數,用來接收鍵盤輸入的數字或者字符
用法嘛,就是 int a=23;
float b=5.63;
scanf("%d%f",&a,&b);
這里scanf函數,會把接收的a和b賦予到a和b
相當于是實現了電腦和人之間的一個交換
了解?
最后一次編輯時間 推薦于2017-09-29 23:57:35
日A無語了
日A無語了


日A無語了:c語言scanf的用法

下面的解答已被910人點贊
首先需要#include <stdio.h>
int scanf( const char *format, ... );
scanf()函數是格式化輸入函數,它從標準輸入設備(鍵盤) 讀取輸入的信息。
第一個參數format為一個常量字符串,這個字符串中如果包含‘%’符號則使用后續參數進行匹配
如:scanf("%d%d", &a, &b);

格式說明符
  轉換字符(就是%后跟的部分)
  a 讀浮點值(僅適用于 C99)
  A 讀浮點值(僅適用于 C99)
  c 讀單字符
  d 讀十進制整數
  i 讀十進制、八進制、十六進制整數
  e 讀浮點數
  E 讀浮點數
  f 讀浮點數
  F 讀浮點數(僅適用于 C99)
  g 讀浮點數
  G 讀浮點數
  o 讀八進制數
  s 讀字符串
  x 讀十六進制數
  X 讀十六進制數
  p 讀指針值
  n 至此已讀入值的等價字符數
  u 讀無符號十進制整數
  [ ] 掃描字符集合
  % 讀 % 符號(百分號)
  附加格式說明字符表修飾符說明
  L/l 長度修飾符 輸入"長"數據
  h 長度修飾符 輸入"短"數據
  W 整型常數 指定輸入數據所占寬度
  * 表示本輸入項在讀入后不賦值給相應的變量

參考資料: http://baike.baidu.com/view/1390039.htm

最后一次編輯時間 推薦于2017-10-13 23:54:43
金蟾捕鱼单机下载