把!=‘\0’去掉,把scanf语句用()包起来即(scanf())!=EOF
#include <stdio.h>
void main()
{
char str[100],*p;
printf("请输入内容:\n");
gets(str);
p=str;
for(p=str;*p;p++)
{
if (p==str && *p>='a' && *p <='z') *p=*p-32;
if (*p==' ')
{
if(*(p+1)>='a' && *(p+1) <= 'z') *(p+1)=*(p+1)-32;
}
}
puts(str);
}
修改如下,供参考:
#include <stdio.h>
int main()
{
int i;
char s[101];
while (gets(s) != NULL) {
for (i = 0; s[i] != '\0'; i++)
{
if (i == 0 && s[i] >= 'a' && s[i] <= 'z')
s[i] = s[i] - 32;
else if (s[i] >= 'a' && s[i] <= 'z' && s[i - 1] == ' ')
s[i] = s[i] - 32;
}
puts(s);
}
return 0;
}