為什麼這篇scanf字串空白鄉民發文收入到精華區:因為在scanf字串空白這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者tfg09730820 (猴)看板C_and_CPP標題[問題] C語言,scanf 字元時間M...
問題(Question):
case 1和 case 2 裡,無法做第一次的輸入,會直接跳到第二次
預期的正確結果(Expected Output):
請設計一多載函式,函式有2個參數:(1)當2個參數都是字元時,則顯示該字元
(2)當參數的字元和整數x時,則顯示該字元x次,
(3)當2個參數都是整數時,則顯 示兩個數相乘的結果
錯誤結果(Wrong Output):
case 1 和 case 2 有問題,case 3則沒問題
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/api/embed.js/link/TnpbOU
#include<stdlib.h>
#include<stdio.h>
void aaa(char,char);
void aaa(char,int);
void aaa(int,int);
int main()
{
int num1,num2;
char a1,a2;
int key;
printf("1.兩字元,2.一字元一數字,3.兩數字\n");
scanf("%d",&key);
switch (key)
{
case 1:
printf("輸入第一個字元\n");
scanf("%c",&a1);
printf("輸入第二個字元\n");
scanf("%c",&a2);
aaa(a1,a2);
break;
case 2:
printf("輸入第一個字元\n");
scanf("%c",&a1);
printf("輸入第一個數字\n");
scanf("%d",&num1);
aaa(a1,num1);
break;
case 3:
printf("輸入第一個數字\n");
scanf("%d",&num1);
printf("輸入第二個數字\n");
scanf("%d",&num2);
aaa(num1,num2);
break;
}
system("pause");
return 0;
}
void aaa(char a1,char a2)
{
printf("%c,%c",a1,a2);
}
void aaa(char a1,int num1)
{
int i;
for(i=0;i<num1;i++)
printf("%c ",a1);
}
void aaa(int num1,int num2)
{
int ans;
ans=num1*num2;
printf("%d*%d=%d\n",num1,num2,ans);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.153.51