所以我的程序必须接受读取字符网格的txt文件.每个字符代表一个特定的命令.句点(句号)表示继续执行最后一个命令.
但是当我编译我的代码时gcc -Wall -pedantic thebox.c -o thebox,我得到了这个警告:
建议用作真值的赋值括号
这是警告所指的功能的第一部分.警告说第78行,即if(command = ('.')行 -
int* getCommand(int next[2],char** gridArray)
{
/* a function to return the command on the next position */
int nextX = next[0];
int nextY = next[1];
char newCommand;
char command = gridArray[nextX][nextY];
if(command = ('.')) {
newCommand = '1';
gridArray[nextX][nextY] = newCommand;
}
Run Code Online (Sandbox Code Playgroud)
我该如何修复此警告?
我的小型 SQL 查询只是将数据从旧数据库导入到新数据库。我的新数据库不允许ProjectNo,ProjectName或者LeaderID是一个NULL值,所以我的代码需要检查该值是否是NULL,如果是,添加ProjectName和LeaderID(ProjectNo是旧表的主键,所以不能是NULL)的默认值。
据我所知,我已经正确地编写了 case 语句,但我不断收到以下错误:
无法将值 NULL 插入列“ProjectName”、表“ERP.dbo.Project”;列不允许空值。插入失败。
我也在使用 SQL Server 2008
INSERT INTO [ERP].[dbo].[Project] ([ProjectID], [ProjectName], [LeaderID])
SELECT
ProjectNo,
CASE
WHEN ProjectName IS NULL THEN 'Unknown'
END,
CASE
WHEN ProjectLeaderID IS NULL THEN 1
END
FROM
Multitech.dbo.Projects
GO
Run Code Online (Sandbox Code Playgroud) 我有一个简单的逻辑,如果if语句返回无效的语法错误。该语句是:
if (a[1] != None and a[2] != None and !(a[3] == None and a[4] == None)):
Run Code Online (Sandbox Code Playgroud)
无效的语法是第三个!操作员。有什么原因为什么这行不通?在这种情况下是否应该使用其他运算符?
因此,逻辑本质上是:(a[1] ^ a[2] ^ (a[3] v a[4])其中这些表示具有值)。因此,不获取任何None值的反向逻辑是:
!a[1] ^ !a[2] ^ !(a[3] ^ a[4])
Run Code Online (Sandbox Code Playgroud)
我很确定自己的逻辑数学是正确的,那么如何获得所需的结果?
*背景信息:Python 2.7.10,总体代码是将数据从SQL Server 2008表中提取出来,进行处理,然后将其插入不允许NULL值的另一个表中,而原始表则乱七八糟
谢谢你的帮助!