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

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

當輸入的是2和2時輸出的為啥不是4而是256呀

當輸入的是2和2時輸出的為啥不是4而是256呀

C
慕仰3175336 2016-09-24 20:09:54
#include <stdio.h>int main(){? ? int a,n,j;? ? printf("請輸入兩個數\n");? ? scanf("%d,%d\n",&n,&j);? ? if(j==0)? ? {? ? ? ? a=1;? ? }? ? else? ? {? ? ? ? a=pow (n,j);? ? }? ? printf("%d\n",a);? ? return 0;}
查看完整描述

4 回答

已采納
?
Must_so

TA貢獻11條經驗 獲得超18個贊

輸入多了“,”和“\n”按你的代碼要輸入2,2\n才能匹配上

這樣改:

#include?<stdio.h>
#include?<math.h>
int?main()
{
????int?a,?n,?j;
????printf?("請輸入兩個數\n");
????scanf?("%d%d",?&n,?&j);
????if?(j?==?0)
????{
????????a?=?1;
????}
????else
????{
????????a?=?pow?(n,?j);
????}
????printf?("%d\n",?a);
????return?0;
}

http://img1.sycdn.imooc.com//57e6796d0001c14001840095.jpg



或者你自己的代碼這樣輸入:

http://img1.sycdn.imooc.com//57e67afa0001bbf101760093.jpg

至于為什么是256你可以輸出n和j試試,不難發現你錯誤的輸入使得j沒有賦值,局部變量沒有賦值會是隨機值,

我的電腦上j的隨機值是34:

代碼:

#include?<stdio.h>
#include?<math.h>
int?main()
{
????int?a,?n,?j;
????printf?("請輸入兩個數\n");
????scanf?("%d,%d\n",?&n,?&j);
????if?(j?==?0)
????{
????????a?=?1;
????}
????else
????{
????????a?=?pow?(n,?j);
????}
????printf("n?=?%d?,?j?=?%d\n",n,j);//debug輸出中間結果
????printf?("%d\n",?a);
????return?0;
}

測試結果:

http://img1.sycdn.imooc.com//57e67be500012bc801880129.jpg

另外注意pow的參數和返回值是double型,a,n,j是int型(有些算法競賽中可能會CE)

scanf兩個%d之間加空格是沒有問題的

????scanf?("%d?%d",?&n,&j);

空格可以過濾空白字符

不加空格也可以,會自動根據輸入的空格區分是兩個數而不是一個數

查看完整回答
1 反對 回復 2016-09-24
?
onemoo

TA貢獻883條經驗 獲得超454個贊

首先,使用scanf函數時,格式化列表的最后不要加上\n。

而且,你在scanf中指定的格式是 %d,%d,所以你輸入的兩個數之間也必須用逗號分開。 一般用在格式中用空格間隔就可以了,這樣輸入也方便。

還有,你使用了pow函數,但是并沒有include math.h,這樣應該根本編譯不過的。

按照上面的改正后,應該就沒問題了,至少在我這里測試時沒有問題。

另外,在C中,你不需要main函數的參數的話,應該在括號中寫上void,而不是留空。

查看完整回答
反對 回復 2016-09-24
  • 慕仰3175336
    慕仰3175336
    就是我在書上看的這個main函數里面是什么也不加的,這個加上void的是編譯要求的嗎?
  • onemoo
    onemoo
    C標準規定函數如果不需要參數,要在參數列表中寫上void。 參數列表留空實際上表示可以“該函數接受任何參數”
?
皓韻兒

TA貢獻86條經驗 獲得超114個贊

你能運行通過嗎?pow 函數不是在#include <math.h> 中嗎? 你寫了嗎?

查看完整回答
反對 回復 2016-09-24
  • 慕仰3175336
    慕仰3175336
    能,這個不需要這個數學函數吧,有可能其他的編譯器需要吧
  • 4 回答
  • 0 關注
  • 1412 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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