亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c語言中的scanf 函數的用法?

c語言中的scanf 函數的用法?

慕尼黑8549860 2019-02-04 16:01:20
為什么下面的函數 輸出的值只是空格前面的字符呢???急求答案?。?!#inclde<stdio.h>void main (){ char s[80];scanf("%s",s);printf("%s",s);}
查看完整描述

3 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

1、空白符問題

#include<stdio.h>

main()

{   

int a;

printf("input the data ");

scanf("%d ",&a);//這里多了一個回車符

printf("%d",a);

return 0;

}

2、回車符也占位。

#include <stdio.h>

main()

{

int n = 5;

char c[n];

for(int i = 0; i < n; i++)

c[i] = scanf("%c",&c[i]); 

printf(c);

return 0;

}

3、scanf()函數的參數輸入類型不匹配問題

#include<stdio.h>

main()

{

int a=123;

char c='t';

printf("input ");

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

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

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

printf("%d %c ",a,c);

return 0;

}

擴展資料:

scanf函數用%s讀取一個字符串時,其實它只能讀取一個單詞,因為遇到空格時,它會認為輸入已結束。因此一般使用fgets來讀取一個字符串。如果想用scanf函數讀取帶有空格的字符串時,需要使用參數%[ ]來完成,它的意思是讀入一個字符集合。

[ ]是個集合的標志,%[ ]特指讀入此集合所限定的那些字符,比如%[A-Z]是輸入大寫字母,一旦遇到不在此集合的字符便停止。如果集合的第一個字符是“^”,這說明讀取不在"^"后面集合的字符,既遇到"^"后面集合的字符便停止(這就是scanf函數里的正則表達式應用)。



查看完整回答
反對 回復 2019-03-14
  • 3 回答
  • 0 關注
  • 1169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號