我尝试用char指针复制字符串,程序没有给我什么,我不知道......
请让我知道我的代码问题.
int main() {
char *a = "helloworld.txt";
char *b = malloc( sizeof(char) * 20 );
while(*a!='\0') {
*b++=*a++;
}
*b = '.';
b++;
*b = '\0';
printf("string: %s\n", b);
}
Run Code Online (Sandbox Code Playgroud)
结果是:
string:
Run Code Online (Sandbox Code Playgroud) 在C,(GCC编译器)中,全局变量的默认存储类是什么?
让我分享一个代码,例如:
int i;
void f()
{ --statements--}
main()
{ --- set of statements--- }
Run Code Online (Sandbox Code Playgroud)
如果我说变量i是静态的而不是外部的,我是否正确?
我想知道下面的代码是否合法.
基本上我有一个std::vector<int>,我有一个处理ints 数组的遗留函数.由于a的元素std::vector总是连续的,所以代码应该始终有效(它实际上适用于我的实现),但它对我来说似乎仍然是一个黑客.
#include <vector>
#include <iostream>
void LecagyFunction(int *data, int length)
{
for (int i = 0; i < length; i++)
std::cout << data[i] << std::endl;
}
int main()
{
std::vector<int> vector;
vector.push_back(5);
vector.push_back(4);
vector.push_back(3);
LecagyFunction(&vector[0], vector.size());
}
Run Code Online (Sandbox Code Playgroud)
预期的输出是:
5
4
3
Run Code Online (Sandbox Code Playgroud) 我正在观看使用Herb Sutter的Symbio C++研讨会视频 - (Thrill of a)Lifetime 20.6.2016,https://www.youtube.com/watch? v = 7b75rcHg7z0 & t = 917s
以下代码是从视频11 :: 24中编写的.当示波器熄灭时,p1,p2和p3指针必须无效.尝试取消引用指针时必须出错.
我正在使用在线https://wandbox.org/环境.gcc和clang都给出了以下结果.哪个一定是错的.
有人可以在Visual Stdio上检查相同的代码.
谢谢
#include <iostream>
using namespace std;
#include <vector>
#include <memory>
#include <cstdio>
#include <cassert>
#include <string>
#include <iterator>
#include <algorithm>
#include <array>
int* p1 = nullptr; int* p2 = nullptr; int* p3 = nullptr;
int main() {
{
int i = 1;
struct MyStruct { char a; int i; char c;} s = {'a', 2, 'c'}; …Run Code Online (Sandbox Code Playgroud) 我想在Windows系统的c ++中检查.ini文件是否只读
例如:
if(file == readonly){
//Do this
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已尝试过这个并且它有效:
ofstream ofs(filename); //test to see if the file successfully opened for writing or not
Run Code Online (Sandbox Code Playgroud)
但结果它将删除.ini文件并将文件留空
PS:1.它不是重复的2.我在互联网上搜索过,我发现了一些可能有用的例子,但结果却没有按照他们的意愿进行编译.
我想知道是否可以在 C 中创建一个具有不同大小线的二维数组。
我知道二维数组是一个存储其他数组的数组。但是如果数组的大小不同呢?像这样的东西(“T”是数组的可用位置)
0 1 2 3 4
0 T T
1 T T T T T
2 T T T
3 T T T T
Run Code Online (Sandbox Code Playgroud)
如果可能,怎么做?就像普通的二维数组一样?
我有一个复杂的C程序,我只想写一个函数,它获取一个字符串作为参数.
int most_frequent(char *string)
Run Code Online (Sandbox Code Playgroud)
该函数必须返回字符串中最常用字符的编号.我试过这样的事情,但这是不正确的我认为:
int most_frequent(char *string){
int i, lenght;
lenght=strlen(string);
int max=0, x=0;
for(i=0;i<lenght;i++)
{
if(string[i]==string[i++])
{
x++;
}
if(max<x)
max=x;
}
return max;
}
Run Code Online (Sandbox Code Playgroud)
例如:"溢出" - 2"十一" - 3
如何输入由新行分隔的2个字符串?
我的问题:
首先,我需要提供需要多少字符串,然后我需要获取这些字符串然后显示它.
我试过这个:
码:
#include <stdio.h>
#include <string.h>
int main()
{
int n,i = 0;
scanf("%d", &n);
char arr[n][100];
for(int i = 0; i < n; i++)
{
scanf("%[^\n]s", arr[i]);
}
for(int i = 0; i < n; i++)
{
printf("%s\n", arr[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的意见是:
2 I am
Aravind
Run Code Online (Sandbox Code Playgroud)
我的输出是:
I am
þ
Run Code Online (Sandbox Code Playgroud)
第一行我得到了正确但第二行显示了一些垃圾值.帮我解决这个问题.
练习是:
使用嵌套循环产生以下模式
A
BC
DEF
GHIJ
KLMNO
PQRSTU
Run Code Online (Sandbox Code Playgroud)
我写的是这样的:
#include <stdio.h>
int main(void)
{
char ch[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int x,y;
int min,max,i;
min=max=0;
i=1;
for(x=0;x<6;x++)
{
for(y=min;y<=max;y++){
printf("%c",ch[y]);
}
min=max+1;
max+=i+1;
i++;
printf("\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有没有一种我想不到的更简单、更好的方法?
我有一个具有以下原型的函数(我无法修改):
void writeData(uint16_t add, uint16_t *data);
Run Code Online (Sandbox Code Playgroud)
*data应该指向一个uint16_t变量。所以在我的代码中,我像这样使用它,例如:
uint16_t dataValue;
dataValue = 55;
writeData(0, &dataValue);
Run Code Online (Sandbox Code Playgroud)
有没有办法简化上面的代码,以便在writeData不声明变量的情况下使用函数dataValue?像这样,但使用正确的语法:
writeData(0, syntaxInCWhichPointsToTheAdressOfTheValueInsideBrackets{55});
Run Code Online (Sandbox Code Playgroud)
如果不是,我们可以修改操作符同一指令行中指向的值&吗?
writeData(0, &dataValue{dataValue=55}); // something like this but with correct syntax
Run Code Online (Sandbox Code Playgroud)
我不想封装writeData在其他函数中。