我有一些代码,它接受一个文件,将每一行读入一个新的字符串数组(并为每个字符添加128),然后将每个数组分配到一个指针数组,然后打印每个数组.尝试运行代码时,由于以下原因,我收到错误,指出了分段错误:
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
但我从来没有在我的代码中调用strlen?
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#define ROW 10
#define COL 40
#define ARGS 2
#define FLIP_VALUE 128
char** read_file (char* argv[], char **array_pointers);
char* new_array (void);
void print_strings (char** array_pointers);
int main(int argc, char* argv[])
{
char **array_pointers = NULL;
if (argc == ARGS)
{
array_pointers = read_file(&argv[1], array_pointers);
print_strings(array_pointers);
}
return 0;
}
char** read_file (char* argv[], char **array_pointers)
{
FILE* file_name;
int i = …Run Code Online (Sandbox Code Playgroud) 我有一个任务是打印由"非元音,元音,非元音"组成的单词列表,即bab,bac,bad,bad ......到zuz.
我设法创建了一个代码,它执行前两个字母但在最后一个循环中丢失并仅打印'}' - 这对我来说似乎很奇怪.代码如下:
#include <stdio.h>
#include <string.h>
int check_vowel(char c);
int check_consonant(char c);
int main ()
{
char c, c2, c3;
int cnt;
for (cnt = 0; cnt <= c; cnt++)
{
for (c = 'a'; c <= 'z'; c++)
{
if (check_vowel(c) == 0)
{
for (c2 = 'a'; c2 <= 'z'; c2++)
{
if (check_consonant(c2) == 0)
{
for (c3 = 'a'; c3 <= 'z'; c3++);
{
if (check_vowel(c3) == 0)
{
cnt++;
printf("%d || %c%c%c\n", …Run Code Online (Sandbox Code Playgroud) 如何转换字符串中的特定字母,即所有as转换'ahdhkhkahfkahafafkh'为大写?
我似乎只能找到将第一个单词或大写/小写整个字符串大写的方法.