我需要学习C来帮助我的教授做一些实验室工作.我只有大约两个星期准备好了.任何人都可以推荐一个好的课程/书籍,但最好是一个厚实和体面的视频课程(如麻省理工学院开放课程风格),但是你也有很好的经验.
谢谢你们
我需要在我的linux系统上编译代码.这是简单的代码,我不知道什么是错的:
我有这个代码,我无法编译它:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string char1, char2, char3, char4, char5, char6;
cout<<"Hello this is your standard True and False quiz"<<endl;
cout<<"Please enter 'T' or 'F'"<<endl;
cout<<"No#1 George Washington invented the toilet?"<<endl;
cin>>char1;
if ( char1 != "T" || "F")
{
cout<<"You entered an incorrect character please reenter True of False"<<endl;
cin>>char1;
}
if ( char1 != "T" || "F")
{
cout<<"You entered an incorrect character please reenter True of False"<<endl;
cin>>char1;
} …Run Code Online (Sandbox Code Playgroud) 我是一名学习过程序员的java程序员.有一个问题归档功能.这有什么区别:
main()
{
struct person myperson;
myperson = myfunction();
return;
}
struct person myfunction()
{
struct person myPerson;
myPerson.firstname = "John";
myPerson.lastname = "Doe";
return myPerson;
}
Run Code Online (Sandbox Code Playgroud)
VS
main()
{
struct person *myperson;
myperson = myfunction();
return;
}
struct person* myfunction()
{
struct person *myPerson;
myPerson = malloc(sizeof(struct person));
myPerson->firstname = "John";
myPerson->lastname = "Doe";
return myPerson;
}
Run Code Online (Sandbox Code Playgroud)
这些在C中合法吗?你会选择一个而不是另一个.非常感谢你们!
在C:The Complete Reference中,Herbert Schildt说
标头通常是文件,但它们不一定是文件.编译器允许在内部预定义标头的内容.但是,出于所有实际目的,标准c头文件包含在与其名称对应的文件中.
如何在不成为文件的情况下存在标题?这篇文章的主题是什么?因为.h文件扩展名与标题一起使用.
我有一个关于enumC. 的问题
我enum用以下方式定义了一个:
typedef enum
{
Hello1 = 1,
Hello2 = 2,
Hello3 = 3
}Hello
Hello hello;
int value = 3;
Run Code Online (Sandbox Code Playgroud)
那么如何将值与值进行比较Hello?
例如:
if(value == Hello3)
{
}
Run Code Online (Sandbox Code Playgroud)
或者我应该像下面这样做:
if(value == Hello.Hello3)
{
}
Run Code Online (Sandbox Code Playgroud) 题
如何在C中声明字符串变量?
背景
在我学习c的基础知识的过程中,我试图将我最古老的python程序之一移植Bob到C.在程序中,脚本会询问用户有关他或她自己的信息,然后吐出响应.几乎所有这些变量都raw_input用于它们的信息 - 变量是字符串.但是,我发现没有办法声明C变量.
码
到目前为止,我已经尝试将变量声明为类型char,int.这是代码,在您闲暇时切换类型.
int main(int argc, const char * argv[])
{
int name;
printf("What is your name?");
scanf("%s",&name);
printf("Your name is %s", name );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误信息
当我运行此代码时,Xcode返回一些奇怪的东西.这部分的全球化 - 全球突出显示.
0x7fff96d2b4f0: pcmpeqb(%rdi), %xmm0
Run Code Online (Sandbox Code Playgroud)
最后,雅虎答案说我不得不使用一种名为a的东西character array.它发布于5年前,所以我认为有更好的方法.
编辑
我正在按照C编程的教程学习.
可能重复:
C中声明的未初始化变量会发生什么?它有价值吗?
现在我正在读书Teach Yourself C in 21 Days.在第3章中,有一个这样的说明:
请勿使用尚未初始化的变量.结果可能无法预测.
请向我解释为什么会这样.该书没有提供进一步的说明.
这有什么区别:
somefunction() {
...
char *output;
output = (char *) malloc((len * 2) + 1);
...
}
Run Code Online (Sandbox Code Playgroud)
还有这个:
somefunction() {
...
char output[(len * 2) + 1];
...
}
Run Code Online (Sandbox Code Playgroud)
什么时候比另一个更合适?
谢谢大家的回答.这是一个总结:
更正欢迎.
这里有一些关于堆与堆栈之间差异的解释:
堆栈和堆的内容和位置是什么?
赫伯特·希尔特(Herbert Schildt)的书"C完整参考文献"中说"(在有符号的负整数的情况下,右移将导致1被引入,以便保留符号位.)"
保留标志位有什么意义?
此外,我认为这本书是指使用符号位表示负数而不使用二进制补码的情况.但即使在这种情况下,推理似乎也没有任何意义.