北航研究生复试2017上机第二题:输出未定义变量

题目:输入两个C语言语句,第一句为正常的C语言变量定义语句,符合C语言语法要求,变量间可以有多个空格,包含数组,指针定义等。第二句为变量运算语句,要求输出第二个C语言语句中未定义的变量。

int x12,y=1,num_stu=89,a[30],*p;
Sum = num+x12*y;
输出
Sum num


我这里没有考虑结构体情况,和int x12; float y=1231;这样的情况
对数组情况进行了考虑。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAXSIZE 200
#define WORDSIZE 20

int GetKeyWord(char* variable_arr, int len1, char keyword[MAXSIZE][WORDSIZE]);          //存储第一行中的变量名
bool IsValidWord(char c);                                                               //字符C是否能作为变量
int GetCalculateWord(char* calculate_arr, int len2, char calculateword[MAXSIZE][WORDSIZE]);//存储第二行中的计算变量
void FindUndefinedWord(char keyword[MAXSIZE][WORDSIZE], int size1, char calculateword[MAXSIZE][WORDSIZE], int size2);   //输出未定义变量
int HaveFrame(char calculateword[WORDSIZE]);        //变量中含有[]的,即为数组变量,返回数组变量的下标值,如a[5]返回5
bool JudgeArr(char calculateword[WORDSIZE], char keyword[WORDSIZE]);                    //判读两个数组变量[]前的数组变量名自否相同,如 a[5]与arr[6]比较a与arr
bool IsSameStr(char calculateword[WORDSIZE], char keyword[WORDSIZE]);                   //判断两个字符串是否相同       


int main(){

    char variable_arr[MAXSIZE];
    char calculate_arr[MAXSIZE];
    int len1 = 0, len2 = 0;
    char ch;
    ch = getchar();
    while(ch != '\n'){
        variable_arr[len1++] = ch;
        ch = getchar();
    }
    variable_arr[len1] = '\0';
    ch = getchar();
    
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值