标题:C语言合法标识符,求改错
只看楼主
静默编程
Rank: 2
等 级:论坛游民
帖 子:18
专家分:13
注 册:2017-3-8
结帖率:80%
已结贴  问题点数:20 回复次数:5 
C语言合法标识符,求改错
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main()
{
     char array[50];
     int n,i,j=0,flag=0;
     scanf("%d",&n);
     for(i=0;i<n;i++)
     {
         scanf("%s",array);
    if(isalpha(array[0])||array[0]=='_')
         {
         flag=1;
         for(j=1;j<strlen(array)&&flag;j++)
         {
              if(!isalnum(array[j])&&array[j]!='_')
              {
               flag=0;
       break;
               }   
         }
         }
         if(flag)
         printf("yes\n");
         else
         printf("no\n");
     }
}
搜索更多相关主题的帖子: C语言 include 
2017-03-08 12:27
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:7 
仅仅strlen这个函数上存在着有符号和无符号不匹配的提醒  无其他编译信息

DO IT YOURSELF !
2017-03-08 14:27
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
不管你使用哪款IDE 都应该有编译提醒吧  合该几个警告 几个错误 分别都是神马  楼主从来不看吗

DO IT YOURSELF !
2017-03-08 14:28
静默编程
Rank: 2
等 级:论坛游民
帖 子:18
专家分:13
注 册:2017-3-8
得分:0 
回复 3楼 wp231957
哈哈,我用的手机的c4droid.还是去电脑上编。
2017-03-08 15:44
静默编程
Rank: 2
等 级:论坛游民
帖 子:18
专家分:13
注 册:2017-3-8
得分:0 
编译没错,但是杭电online judge依然给wrong answer
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main()
{
     char array[50];
     int n,i,j=0,flag=0;
     scanf("%d",&n);
     for(i=0;i<n;i++)
     {
         scanf("%s",array);
    if(isalpha(array[0])||array[0]=='_')
         {
           flag=1;
           for(j=1;j<strlen(array)&&flag;j++)
           {
               if(!isalnum(array[j])&&array[j]!='_')
              {
               flag=0;
               break;
               }   
           }
         }
         if(flag)
         printf("yes\n");
         else
         printf("no\n");
     }
}
2017-03-08 21:45
zql270
Rank: 2
等 级:论坛游民
帖 子:7
专家分:48
注 册:2017-2-28
得分:7 
使用dev编译通过,只是主函数需要返回值,编译器不一样有些东西不一样的
程序代码:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int  main()
{
     char array[50];
     int n,i,j=0,flag=0;
     scanf("%d",&n);
     for(i=0;i<n;i++)
     {
         scanf("%s",array);
    if(isalpha(array[0])||array[0]=='_')
         {
         flag=1;
         for(j=1;j<strlen(array)&&flag;j++)
         {
              if(!isalnum(array[j])&&array[j]!='_')
              {
               flag=0;
       break;
               }
         }
         }
         if(flag)
         printf("yes\n");
         else
         printf("no\n");
     }
     return 0;
}
2017-03-08 23:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474854-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.079495 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved