输出每次都是404,不知道是我使用strcmp不当还是其他的什么问题,
#include
#include
#include
#define N 80
int Check(char *iptr,char *check[]){
for(int i = 0;i<7;i++){
if(strcmp(check[i],iptr)==0){
printf("%d",i);
return 1;
}
}
return 0;
}
int main()
{
char *check[7] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
char input[N] = {};
fgets(input,N,stdin);
char *iptr = input;
//char (*cptr)[N] = check;
for(int i = 0;i<7;i++){
puts(check[i]);
}
if(Check(iptr,check)==0)
{
printf("404");
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main() {
char a[]="Sunday";
char b[]="Monday";
char c[]="Tuesday";
char d[]="Wednesday";
char e[]="Thursday";
char f[]="Friday";
char g[]="Saturday";
char h[10];
scanf("%s",&h);
if(strcmp(h,a)==0){
printf("%d",0);
}
else if(strcmp(h,b)==0){
printf("%d",1);
}
else if(strcmp(h,c)==0){
printf("%d",2);
}
else if(strcmp(h,d)==0){
printf("%d",3);
}
else if(strcmp(h,e)==0){
printf("%d",4);
}
else if(strcmp(h,f)==0){
printf("%d",5);
}
else if(strcmp(h,g)==0){
printf("%d",6);
}
else{
printf("Error");
}
return 0;
}
输入语句修改,供参考:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define N 80
int Check(char* iptr, char* check[]) {
for (int i = 0; i < 7; i++) {
if (strcmp(check[i], iptr) == 0) {
printf("%d", i);
return 1;
}
}
return 0;
}
int main()
{
char* check[7] = { "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };
char input[N] = {};
gets(input); //fgets(input,N,stdin); 修改
char* iptr = input;
//char (*cptr)[N] = check;
for (int i = 0; i < 7; i++) {
puts(check[i]);
}
if (Check(iptr, check) == 0)
{
printf("404");
}
return 0;
}