本帖最后由 rocki 于 2014-7-14 21:42 编辑
- #include <stdio.h>
- int main(int argc, const char * argv[])
- {
- int i,len=0,maxlen=0;
-
- char *p,*pt,s[1000],subs[100];
- printf("请输入单词空格分开:\n");
-
- gets(s);
- //scanf("%s",s);
-
- for (pt=s; *pt!='\0'; pt++)
- {
- if(*pt!=' ')
- {
- len++;
- }
- else
- {
- if (len>maxlen)
- {
- maxlen=len;
- p=pt-len;
- len=0;
- }
- }
- }
- for(i = 0;i < maxlen;i++)
- {
- subs[i] = *(p + i);
- }
-
- subs[maxlen] = '\0';
-
- printf("最长的英文词是:%s,其长度是:%d个字符。\n",subs,maxlen);
-
- return 0;
- }
复制代码 这个程序X-code给了两个警告, 一个是因为gets函数,但是我用scanf替换gets 后,程序执行结果都成空得了。求解
第二个警告是下面for循环那里。变量P在哪里用数据可能不定,x-code给的解决办法是初始化p。可是这个P在上面步骤中我让他不断指向最长的字符串了。
求解。
还有这个基础测试,,,我如果交上去有两个警告是不是要扣分的呢?
|
|