我有以下代码:
static void Main(string[] args)
{
List<Stock> ticker = new List<Stock>();
ticker.Add(new Stock("msft"));
ticker.Add(new Stock("acw"));
ticker.Add(new Stock("gm"));
ticker = ticker.OrderBy(s => s.Name).ToList();
foreach (Stock s in ticker)
{
Console.WriteLine(s.Name);
}
Console.WriteLine("\n");
ticker = ticker.RemoveAll(s => s.TickerSymbol == "gm");
foreach (Stock s in ticker)
{
Console.WriteLine(s.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
Stock是一个具有字符串属性TickerSymbol和Name的对象.它还具有双重属性Price,ChangeDollars和ChangePercent.
我写的第二个LINQ语句是在消息中抛出错误,"不能将类型'int'隐式转换为'System.Collections.Generic.List'".我很困惑'int'类型来自何处以及如何修复此错误,因为我不在程序中的任何位置使用任何int值.
我对LINQ也很新,这是我第一次使用它.这个错误很可能是LINQ的一些复杂性的结果,我不知道.
任何人都知道为什么会发生这种错误以及如何解决它?
我有以下代码:
char* get_address_string(PACKAGE* pkg){
char *c;
sprintf(c, "%02x:%02x:%02x:%02x:%02x:%02x", pkg->address[0], pkg->address[1],
pkg->address[2], pkg->address[3], pkg->address[4], pkg->address[5]);
return c;
}
Run Code Online (Sandbox Code Playgroud)
代码工作正常.但是,我知道这不是在C中返回字符串的正确方法.我收到警告"c在此函数中使用未初始化".
在C中编写此函数的正确方法是什么?
我正在用C编写RSA加密算法.我不打算在任何地方投入生产,主要是因为我可以扩展我对加密的理解.
我如何处理RSA产生的大量数字?即使用像103这样的相对较小的私钥执行解密,我仍然有处理这样的事情的问题:
67 ^ 103 mod 143 =(1.21816096336830017301951805581 x 10 ^ 188)mod 143
存储多个大小的最佳方法是什么?有没有办法使用标准库?.
我正在寻找有关如何向 django 管理界面添加全新页面的信息。我需要添加一个视图,允许管理员更改现有文本文件的内容。该视图需要存在于现有的 django 管理应用程序中。我正在使用 django 1.9。
我找到了有关扩展现有页面但未添加全新页面的信息。这可能吗?
我是C的新手.我熟悉Python,Java,C#.因此,我遇到指针问题.
我试图使用结构在C中实现链表.截至目前,该程序创建了根成员,然后再添加一个成员以获得2个链接成员的列表.然后它调用print方法,该方法应遍历每个项目并打印它们.不幸的是,该程序陷入了无限循环,似乎是打印成员 - >数据地址而不是数据本身.
正如我之前所说,我熟悉一些OOP语言.这个问题令人沮丧,因为一个简单的链表是我应该能够在几分钟内完成的.有帮助吗?代码如下.
#include<stdio.h>
#include<stdlib.h>
struct Member{
int data;
struct Member *next;
};
struct Member *createMember(int i){
struct Member *new;
new = malloc(sizeof(struct Member));
new->data = i;
return new;
}
void print(struct Member *root){
struct Member *current = root;
while(current->next != NULL){
printf("%i, ", current->data);
current = current->next;
}
printf("%i", current->data);
}
main(){
struct Member *root;
root = createMember(15);
root->next = createMember(12);
print(root);
}
Run Code Online (Sandbox Code Playgroud) 标准 C 函数的缩写方式有什么理由吗?例如,malloc()
是“内存分配”的缩写。sprintf()
是“字符串打印格式”。这些名称都不能很好地告诉您该函数的实际用途。我从来没有想到这些缩写函数名称有多么可怕,直到最近我不得不教一个新实习生其中许多函数。
当语言被开发时,有什么理由malloc()
被选择memAllocate()
或者类似的吗?我最好的猜测是它们更类似于 UNIX 命令,但这感觉不是正确的答案。
我有以下代码.它由父进程和两个子进程(生产者和消费者)组成.生产者接受用户输入并将其传递给消费者,消费者总结了已经发生的元音总数.父进程只是监听两个子进程,如果它们由于某种原因而停止,则重新启动它们.当用户输入'p'时,生产者进程退出,当接收到包含'y'的字符串时,消费者进程停止.
我遇到的问题是_exit()
生产者进程中的函数调用不会导致进程终止._exit()
消费者流程中的函数调用按预期工作.为什么消费者进程在生产者函数没有正确终止时?
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <signal.h>
int main(){
pid_t c_p, c_c;
int p[2];
pipe(p);
c_p = fork();
if(c_p > 0) c_c = fork();
for(;;){
// Producer Process
if(c_p == 0){
char c[20];
printf("%s", "Enter a string: \n");
fgets(c, 20, stdin);
if(c[0] == 'p' && strlen(c) == 2) _exit(1);
close(p[0]);
write(p[1], c, (strlen(c) + 1));
}
// Consumer Process
else if(c_c == 0){
int j;
static int a = 0, e …
Run Code Online (Sandbox Code Playgroud) 我正在自学C语言.我有以下代码,通过char向前和向后打印字符串char:
#include<stdio.h>
#include<string.h>
main(){
char *str;
fgets(str, 100, stdin);
//printf("%i", strlen(str));
int i;
for(i = 0; i < strlen(str) - 1; i++){
printf("%c", str[i]);
}
for(i = strlen(str); i > -1; i--){
printf("%c", str[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
运行时,它给我以下输出(假设我输入"hello"):
cello
ollec
Run Code Online (Sandbox Code Playgroud)
另外,如果我取消注释第7行代码,我得到以下输出(假设我输入"hello"):
6 ?
Run Code Online (Sandbox Code Playgroud)
对于我的生活,我无法弄清楚我正在做什么导致输出中的第一个字符发生变化.在第二个例子中,我知道字符串长度为6,因为'h'+'e'+'l'+'l'+'o'+'\ 0'= 6.这很好,但是在哪里锹符号来自?为什么只打印其中一个?
对我来说很明显,我对这里发生的事情有一些基本的误解,我无法在其他地方找到任何这方面的例子.任何人都可以解释这里出了什么问题吗?
c ×6
pointers ×2
string ×2
algorithm ×1
c# ×1
collections ×1
django ×1
encryption ×1
linked-list ×1
linq ×1
linux ×1
list ×1
python ×1