當前位置:編程學習大全網 - 編程語言 - C語言的壹個問答程序

C語言的壹個問答程序

scanf("%c",&choose);

if(choose=='a')

\*上面兩句改為“if((choose=getchar())=='a')”*\

*num=*num+50;

\*此處加上:“getchar();”。*\

printf("問題\n");

printf("a.xx b.xx c.xx d.xx\n");

scanf("%c",&choose2);

if(choose2=='b')

\*上面兩句改為“if((choose2=getchar())=='b')”*\

*num=*num+50;

上面這三個地方改了就行,當輸入輸出連成壹片的時候,會導致

輸入輸出順序混亂,往往先執行兩條輸入語句,首先妳輸入a\n,

由於是妳按\n系統才開始讀入字符,順序把字符'a'賦給了妳的變量

choose,把字符'\n'賦給了妳的變量choose2,這樣,就跳過了

中間的輸出語句直接結束了,但是註意,輸出語句並不是沒有執

行,只是順序被打亂了(先輸入兩個變量後執行第二題的輸出語句)

,所以妳看不到,在TC裏,妳運行完按ALT+F5還是可以看到的,

其實變量choose2裏的字符就是'\n'。

下面是幫妳完全修正好的程序,自己運行試試再比較壹下:

#include<stdio.h>

#include<stdlib.h>

void iq(int *num)

{

char choose,choose2;

printf("問題\n");

printf("a.xx b.xx c.xx d.xx\n");

if((choose=getchar())=='a')

*num+=50;

getchar();

printf("問題\n");

printf("a.xx b.xx c.xx d.xx\n");

if((choose2=getchar())=='b')

*num+=50;

}

int main()

{

int numbegain=0;

//int *numlast=&numbegain;

printf("這是壹個XX程序,根據提示選擇abcd\n");

iq(&numbegain);

printf("妳的智商是:%d",numbegain);

system("pause");

}

  • 上一篇:什麽是威客 閃客 測客等
  • 下一篇:Djifly編程
  • copyright 2024編程學習大全網