您好我是C编程的新手,目前我开始获取用户输入的简单应用程序,现在如何从用户获取输入并区分用户输入是否包含字符串,整数或两者的组合。
我尝试了以下内容:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main(int argc, char * argv[])
{
char * s = "CPROGRAMMING";
int i;
boolean flag = true;
for(i = 0;, i < strlen(s) && flag == true; i++)
{
if(isalpha(s[i]) && isupper(s[i])) flag = true;
else flag = false;
}
if(flag) printf("A string contains only uppercase and alphabet letters\n");
return 0;
}
但似乎无法找到合适的输入。我在这里缺少什么?
答案 0 :(得分:1)
一些问题:
scanf
。 boolean
,您的意思是int
吗? break
。,
。答案 1 :(得分:1)
您的代码存在一些语法问题。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
int main(int argc, char* argv[])
{
char* s = "CPROGRAMMING";
int i;
bool flag = true;
for (i = 0; i < strlen(s) && flag; i++)
{
if (isalpha(s[i]) && isupper(s[i]))
flag = true;
else
flag = false;
}
if (flag)
printf("A string contains only uppercase and alphabet letters\n");
return 0;
}
答案 2 :(得分:1)
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
int main (int argc, char* argv[])
{
(void) argc;
(void) argv;
const char* s = "CPROGRAMMING";
bool upper_case = true;
for (int i = 0; i<strlen(s) && upper_case ; i++)
{
if (!isalpha(s[i]) || !isupper(s[i]))
{
upper_case = false;
}
}
if (upper_case)
{
printf("A string contains only uppercase and alphabet letters\n");
}
return 0;
}
修正: