- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些语法问题,我不知道如何解决。我正在尝试构建一些矩阵函数,有人可以帮助我解决这些问题吗?
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(11): error C2143: syntax error : missing ')' before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(11): error C2143: syntax error : missing '{' before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(11): error C2059: syntax error : '<Unknown>'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(11): error C2059: syntax error : ')'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(12): error C2143: syntax error : missing ')' before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(12): error C2143: syntax error : missing '{' before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(12): error C2059: syntax error : '<Unknown>'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(12): error C2059: syntax error : ')'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(13): error C2143: syntax error : missing ')' before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(13): error C2143: syntax error : missing '{' before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(13): error C2059: syntax error : '<Unknown>'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(13): error C2059: syntax error : ')'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(27): warning C4013: 'initMatrix' undefined; assuming extern returning int
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(29): warning C4013: 'completeMatrix' undefined; assuming extern returning int
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(30): warning C4013: 'displayMatrix' undefined; assuming extern returning int before 'constant'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(146): error C2059: syntax error : '<Unknown>'
1>c:\documents and settings\one\my documents\visual studio 2010\projects\hw3\hw3\q2.c(146): error C2059: syntax error : ')'
这是代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define N 10
#define MAX_CHAR 9
int checkString(char *str);
void replacingLetters(char *str);
int countWords(char *str);
int * initMatrix(int M, int N);
void completeMatrix(char *str,int *arr,int M, int N);
void displayMatrix(int *arr,int M, int N);
int main()
{
int *res;
int numOfWords;
char inputFromUser[N*MAX_CHAR];
printf("Please insert a string : ");
gets(inputFromUser);
if (1 == checkString(inputFromUser))
{
replacingLetters(inputFromUser);
numOfWords = countWords(inputFromUser);
*res = initMatrix(26,numOfWords);
completeMatrix(inputFromUser,res,26,numOfWords);
displayMatrix(res,26,numOfWords);
}
return 0;
}
int checkString(char *str)
{
int stringLen = 0;
int i = 0;
stringLen = strlen(str);
for (i = 0 ; i < stringLen ; ++i)
{
if ((str[i] >= 'a' && str[i] <= 'z') ||
(str[i] >= 'A' && str[i] <= 'Z') ||
(str[i] == ' '))
{
continue;
}
return 0;
}
return 1;
}
void replacingLetters(char *str)
{
int stringLen = 0;
int i = 0;
stringLen = strlen(str);
for (i = 0 ; i < stringLen ; ++i)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = str[i] - 'A' + 'a';
}
}
}
int countWords(char *str)
{
int stringLen = 0;
int i = 0;
int numberOfWords = 0;
int isNewWord = 1;
stringLen = strlen(str);
for (i = 0 ; i < stringLen ; ++i)
{
if (str[i] >= 'a' && str[i] <= 'z')
{
if (isNewWord == 1)
{
numberOfWords++;
isNewWord = 0;
}
}
if (str[i] == ' ')
{
isNewWord = 1;
}
}
return numberOfWords;
}
int * initMatrix(int M, int N)
{
int * retVal = 0;
int i,j;
retVal = (int *)malloc(sizeof(int) *N *M);
for ( i = 0 ; i < N ; ++i)
{
for ( j = 0 ; j < M ; ++j)
{
retVal[i*M + j] = 0;
}
}
return retVal;
}
void completeMatrix(char *str,int *arr,int M, int N)
{
int numOfWords = 0;
int wordIdx = 0;
int idx = 0;
int idxInWord = 1;
if (1 == checkString(str))
{
replacingLetters(str);
numOfWords = countWords(str);
for (wordIdx = 0; wordIdx < numOfWords ; ++wordIdx)
{
idxInWord = 1;
while((str[idx] != 0) && (str[idx] != ' '))
{
arr[wordIdx * M + str[idx] - 'a'] = arr[wordIdx * M + str[idx] - 'a']*10 + idxInWord;
idx++;
idxInWord++;
}
idx++;
}
}
}
void displayMatrix(int *arr,int M, int N)
{
int i,j;
for ( i = 0 ; i < _N ; ++i)
{
for ( j = M -1 ; j >= 0 ; --j)
{
printf("%d ",_arr[i*M + j]);
}
printf("\n\n");
}
}
最佳答案
#define
是 preprocessor MACRO它在预处理阶段充当文本替换。在你的情况下,使用像这样的宏
#define N 10
然后使用类似的函数
void displayMatrix(int *arr,int M, int N);
事实证明
void displayMatrix(int *arr,int M, int 10); //note the int 10 part
这基本上是将所有出现的N
替换为10
,之后它就变得非法了。您需要为函数参数使用 int
变量类型,而不是 int
文字。
将函数参数中出现的所有 int N
更改为其他变量名称。
也就是说,
gets()
受到缓冲区溢出问题的严重影响。使用fgets()
相反。C
中 malloc()
及其族的返回值。main()
的推荐签名为 int main(void)
。关于c - 语法错误: missing ')' before 'constant' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789131/
所以如果我在 C++ 中有这样的东西: char A_char = 'A'; char * myPtr = &A_char; const char * myPtr = &char_A; //point
我试图在我的 Perl 脚本中将魔数(Magic Number)声明为常量,如 perlsub 中所述。但是,我收到警告: $ cat foo.perl use warnings ; use stri
我想为 data Constant a b = Constant a 这是我的直接尝试: instance Foldable (Constant a) where foldr f b (Const
我在客户端和服务器端拆分了我的文件夹,但我没有从父文件夹工作,我表现得好像它们是 2 个不同的文件夹...现在我想部署到 Heroku 但我为此需要一个主文件夹,所以我想更改我的 webpack.co
当函数不修改对象参数时,我总是让它请求一个常量引用,即使引用的对象不是真正的常量。这是错误的吗? 对于包装类,我想这样写: template class Wrapper{ private: B*
核心常量表达式的定义取决于常量表达式的概念,如要点 (2.7.1) 和 (2.9.1) 所示N4140 的。 §5.19/2: A conditional-expression e is a core
我有以下代码片段,它按预期工作。其中 x 是一个变量 var myVariable = (x === 'A' || x=== 'B') ? 'sui' : 'pai'; 但是闭包编译器正在将它转换为
我是一个国际化应用程序。其中一部分在于菜单的国际化。没关系。 通过 GWT,我可以使用 Constants 接口(interface)。 现在我必须国际化该应用程序的帮助,其中包括一些涉及菜单的文本。
在 Bjarne Stroustrup 的 A Tour of C++ 中,每章末尾都列出了一些建议。在第一章的结尾,其中一个写道: Avoid ‘‘magic constants;’’ use sy
创建常量数组的常量数组的语法是什么? 我希望函数参数是常量 char* 字符串的常量数组。 最佳答案 您可以通过将 const 放在第一个星号的右侧来实现,例如 void f(const char *
我有一本带图书馆的 Chef Recipe ,例如库.rb。它包含一个 CONSTANT: CONSTANT = 'constant' 当我为这本 Recipe 编写单元测试时,它总是给我警告: (S
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How to check for equals? (0 == i) or (i == 0) Why does
我有以下代码: constexpr unsigned long long power_function(const unsigned long long prime, const unsigned l
在一个页面上,我有几个 Angular 模块。我为每个模块定义了一个包含模块版本的常量。 var module1 = angular.module('module1').constant('versi
C++14 中的§5.19/3 定义了一个整型常量表达式和一个转换后的常量表达式: An integral constant expression is an expression of integr
如果您打开 R# 选项并转到代码编辑> C# > 命名样式,则有 2 个设置与我非常相似。本地常量和常量字段(私有(private))。一种是 lowerCaseCamel,另一种是 UpperCam
如何将恰好命名为 reverse 的以下方法重写为允许任何枚举类型的泛型方法。 public class TestX { enum Gender { male, female } pu
我和我的一位队友进行了一次有趣的谈话。 CONSTANT.equals(VARIABLE) 是否比 Java 中的 VARIABLE.equals(CONSTANT) 快? 我怀疑这是一个虚假陈述。但
我想在 c 程序中执行脚本 cmd,所以函数 SYSTEM(CONST CHAR) 可以执行它,但我想使用这个函数和 3 个不同的参数写入一次。谁能帮帮我,有没有那种功能。 最佳答案 如果我猜对了,您
VStudio 或 ReSharper 给我以下建议: constant 在这种情况下意味着什么?如果它是当前方法作用域中的一个常量,目的是什么?方法往往很小,因此与常规 var 相比,它不应该有任何
我是一名优秀的程序员,十分优秀!