請問第一個else處應輸入一個語句是什么意思
if (d == x)后面不應有分號,另外else if和else里面的printf()后面應有分號。
int d, x; { printf("請輸入:1是剪刀,2是石頭,3是布"); scanf("%d", &d); x = rand() % 3; if (d == x) printf("雙方平局"); else if ((d == 1 && x == 2) || (d == 2 && x == 3) || (d == 3 && x == 1)) printf("你贏了"); else printf("computer win"); }。
*iSense: 未定義標識符 "lf" *iSense: 應輸入一個語句
#include <stdio.h>
int main() {
int x, y, z;
int max(int a, int b);
printf("input two number:\n");
scanf_s("%d%d", &x, &y);
z = max(x, y);
printf("maxmum=%d", z);
}
int max(int a, int b) {
//lf(a > b); return a; else return b;
return (a > b) ? a : b;
}
為什么else一直提示要輸入一個語句
你這個程序錯誤太多多了吧!先說你的程序,再說你提的問題。
因為,即使解決了你的問題,程序還是錯誤的。一、關于程序從程序結構上看,大概是判斷一個數是不是素數。
1、int行,a變量是多余的,i和b可直接初始化。這一行改為:int n,i=2,b=1;2、去掉i=2;這一行。
3、第一個if語句錯誤,必須改為:if(n%i==0)4、b=0前面加一個花括號(花括號最好單獨占一行),變為:{b=0;5、第一個i=i++改為break;,并在后面加一個花括號(也讓它單獨占一行),如下:break;}6、把b=1和后面那行printf全部去掉。7、把第二個i=i++改為:i++;8、把if(b=1){這一行的花括號去掉,等號雙寫,改為:if(b==1)9、把return前面的那個花括號去掉。
這樣修改以后,程序就能正常運行,并能得到正確的結果了。二、你提出的問題在if語句中,最常用的結構形式是:if(表達式一){語句組一}else{語句組二}其中語句組可以是一個或多個語句,僅當語句組只含有一個語句時,語句組前后的花括號才可以省略。
如語句組一只含有“一個語句”,可以寫成:if(表達式一)語句一;else{語句組二}如果語句組含有兩個或多個語句,就不能省略花括號,如不能寫成:if(表達式一)語句一;語句二;else{語句組二}如果你這樣寫,系統會認為if語句只含有前兩句:if(表達式一)語句一;這個if結構到這兒已經結束了。當后面再出現else時,系統就會蒙圈,有時會提醒你“缺少if語句”。
所以,解決你的問題,只需要把b=0和i=i++兩句括起來即可:{b=0;i=i++;}前面已經說了,這樣子雖然程序不再提示你“要輸入一個語句”,但程序仍不會判斷出素數。啰嗦了很多,不知是否已經說明白。
有什么問題請留言。
c語言 輸入一個句子 把句子反過來打出來
#include<math.h>
#include<stdio.h>
void main(){
char s[1000];
int i=0;
while((s[i]=getchar())!='\n')
{
if(s[i]==' '){
while(i)
printf("%c",s[--i]);
printf(" ");
i--;
}
i++;
}
while(i)
printf("%c",s[--i]);
printf(" ");
}