[英]syntax and parse error
i keep getting a syntax error on line 9 and parse errors on lines 31, 32, 33, and 38...and i dont know why. 我一直在第9行得到一个语法错误,并解析第31,32,33和38行的错误......我不知道为什么。 Can anyone help me?
谁能帮我?
#include stdio.h<> <-----there are all correct in the code but don't show on here
#include stdlib.h<>
#include math.h<>
int hamlength;
int pbit;
int hamcode;
String char *hamming = NULL;
void enter_params(){
printf("Enter length of the Hamming code:_\n");
scanf("%d",&hamlength);
printf("Enter the parity(0=even, 1=odd):_\n");
scanf("%d",&pbit);
hamming = (char *)malloc(hamlength * sizeof(char));
}
void free_memory(){
if (hamming != NULL)
free (hamming);
return;
}
1. List item
void correct_hamming(){
int errorBit=0;
int currentBit;
int i;
int j;
int k;
printf("Enter the Hamming Code:_\n");
scanf("%s", hamming);
for(i = 1, i < hamlength; i = i * 2){
for(j = i; j < hamlength; j += 2 * i){
for(k = j; k < hamlength && k < currentBit; k++){
currentBit = currentBit ^ hamming [hamlength - k];
if (k != i)
currentBit = currentBit ^ hamming[hamlength - k];
}
errorBit += ((currenttBit ^(hamming[hamlength - i] - '0')) + i);
}
}
}
int main(){
int choice=0;
while(choice!=3){
printf("1) Set parameters\n");
printf("2) Check Hamming Code\n");
printf("3) Exit\n");
printf("Enter selection:_\n");
scanf("%d",&choice);
switch(choice){
case 1: enter_params();
break;
case 2: correct_hamming();
break;
case 3: printf("dueces!");
break;
}
}
return 0;
}
#include stdio.h<> <-----there are all correct in the code but don't show on here
#include stdlib.h<>
#include math.h<>
You meant 你的意思是
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
? ?
String char *hamming = NULL;
What is String
doing here? String
在这做什么? It is not a C keyword. 它不是C关键字。 Remove
String
from that line. 从该行中删除
String
。 Your code is full of syntax and logic errors. 您的代码充满了语法和逻辑错误。
1. List item // should be commented
errorBit += ((currenttBit ^(hamming[hamlength - i] - '0')) + i);
Typo here currenttBit
should be currentBit Typo这里
currenttBit
应该是currentBit
for(i = 1, i < hamlength; i = i * 2)
Replace ,
with ;
替换
,
用;
In main()
function 在
main()
函数中
int choice=0;
while(choice!=3)
When would the user enter his choice? 用户什么时候输入他的选择?
#include<stdio.h> // this is the right way to include header files
#include<stdlib.h>
#include<math.h>
String
is not valid keyword/datatype of C in String char *hamming = NULL;
String
不是C中的C的有效关键字/数据类型String char *hamming = NULL;
1. List item
is not valid in C. 1. List item
在C中无效。
String char *
doesn't look right to me. String char *
对我来说不合适。 You probably didn't mean to include String
there. 你可能并不想在那里包含
String
。
Remove the "String" on line 9. 删除第9行的“字符串”。
And change this line: 并改变这一行:
for(i = 1, i < hamlength; i = i * 2){
To this 对此
for(i = 1; i < hamlength; i = i * 2){
I'm assuming that in your code "1. List item" isn't really there. 我假设你的代码“1.列表项目”并不是真的存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.